一:外部配置加載順序
Spring boot也可以從以下位置加載配置,優先級從高到底,高優先級的配置會覆蓋低優先級的配置,所有配置會形成互補配置
- 官網給出了17個位置,參考官方文檔
- 我們這邊就介紹11中常用的位置
1.命令行參數
java -jar springboot-demo-01-0.0.1-SNAPSHOT.jar --server.port=8088 #多個配置文件用空格隔開
2.來自java:comp/env的JNDI屬性
3.java系統屬性(System.getProperties())
4.操作系統環境變量
5.RandomValuePropertySource配置的random.*屬性值
都是由jar包外向jar包內尋找
優先加載帶profile的
6.jar包外部的application-{profile}.properties或者application.yml,帶spring.profile配置文件
7.jar包內部的application-{profile}.properties或者application.yml,帶spring.profile配置文件
再來加載不帶profile的
8.jar包外部的application.properties或者application.yml,不帶spring.profile配置文件
9.jar包內部的application.properties或者application.yml,不帶spring.profile配置文件
10.@Configuration註解類上的PropertySource
11.通過SpringApplication.setDeafaultProperties指定默認的屬性