【理论介绍】
配置文件加载顺序:
1、项目根目录下的config目录。【优先级最高】
2、项目根目录。
3、classpath下的config目录。
4、classpath目录(新建项目时application.properties默认所在位置)。【优先级最低】
备注:
加载顺序:4 -> 3 -> 2 -> 1。
优先级:逐渐减低(1>2>3>4)。
【举例说明】
项目结构示例:

1、项目根目录下的config目录(file:./config/):helloworld/config/
2、项目根目录(file:./):helloworld/
3、classpath下的config目录(classpath:/config/):helloworld/src/main/resources/config/
4、classpath目录(classpath:/):helloworld/src/main/resources/
启动命令
java -jar helloworld-0.0.1-SNAPSHOT.jar
指定配置文件的启动命令
java -jar helloworld-0.0.1-SNAPSHOT.jar --spring.config.location=classpath:/application.properties
扩展:
(1)指定配置文件名称(如指定配置文件为helloworldApplication.properties):
$ java -jar helloworld-0.0.1-SNAPSHOT.jar --spring.config.name=helloworldApplication
(2)指定两个配置文件,后一个覆盖前一个中相同的属性项(前后两个文件都有的属性项,覆盖前一个属性项,使用后一个属性项;前一个有而后一个没有的属性项,使用前一个的属性项):
$ java -jar helloworld-0.0.1-SNAPSHOT.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties
【参考来源】
官网:24. Externalized Configuration
本文介绍了Spring Boot系统配置文件的加载顺序,从优先级最高的项目根目录下的config目录开始,依次是项目根目录、classpath下的config目录,到优先级最低的classpath目录。加载时遵循4->3->2->1的顺序,且高优先级的配置会覆盖低优先级的相同属性。文章还给出了项目结构示例和启动命令示例,帮助读者理解配置文件的使用和覆盖规则。

2497

被折叠的 条评论
为什么被折叠?



