在如下的目录层级结构中, Spring Boot 读取配置文件的优先级分别是 config/application.yml > application.yml > jar包中(recource/config/application.yml) > jar包中(recource/application.yml)

1
2
3
4
5
|-- application.yml
|-- config
| -- application.yml
|-- springboot-demo-0.0.1-SNAPSHOT.jar(recource/application.yml)
|-- springboot-demo-0.0.1-SNAPSHOT.jar(recource/config/application.yml)

优先级高的会覆盖优先级低的。

spring.config.location

该命令会直接取代 jar 包中的 applicaiton.yml.

1
java -jar springboot-demo-0.0.1-SNAPSHOT.jar --spring.config.location=./config/application.yml

spring.config.additional-location

该命令和其他配置文件互补