【理论介绍】
配置文件加载顺序:
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