SpringBoot配置文件概述
通常情况SpringBoot默认配置文件为application.properties或者或者application.yml文件。
实际使用时还需要有application-dev.properties(开发环境使用)以及application-prod.properties(生产环境使用)。
SpringBoot配置文件格式
Spring Boot 官方提供了两种常用的配置文件格式,分别是:
1.properties格式
application.properties
2.yml格式
application.yml
这两个文件本质是一样的,区别只是其中的语法略微不同,相比于properties来说,yml更加年轻,层级也是更加分明。
springboot配置文件加载顺序
SpringBoot项目启动会扫描以下位置的application.properties或者application.yml文件作为SpringBoot的默认配置文件。
比如:下面我以application.properties配置文件为例。
application.properties可以放置四个位置,优先级从1到4依次递减。
file:./config/ ( 项目根路径下的config文件夹) file:./ (项目根路径) classpath:/config/ (类路径下的config文件夹) classpath:/ (类路径)
如下图所示:
优先级由高到底,高优先级的配置会覆盖低优先级的配置。
所以说,我们平时通过IDEA创建的SpringBoot工程在resource目录下自动生成的配置文件,优先级最低。
注意:第1优先级中的config目录必须存在子目录,否则会异常。
如下所示:
15:04:31.871 [main] ERROR org.springframework.boot.SpringApplication - Application run failed,java.lang.IllegalStateException: No subdirectories found for mandatory directory location 'file:./config/*/'.
SpringBoot定制配置文件
通过 spring.config.location还可以定制application.properties配置文件的位置。
注意:定制放置位置的配置文件优先级高于上述四个默认位置配置文件。
java -jar demo-1.0.0-SNAPAHOT.jar --spring.config.location=classpath:/felixzh/
定制配置文件文件名称
通过spring.config.name可以定制配置文件的文件名:
java -jar demo-1.0.0-SNAPAHOT.jar --spring.config.name=MyApp.properties
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》