SpringBoot內(nèi)部外部配置文件加載順序解析
內(nèi)部配置加載順序
SpringBoot 啟動(dòng)會(huì)掃描以下位置的application.properties或者application.yml文件作為Spring boot的默認(rèn)配置文件
?file:./config/?file:./?classpath:/config/?classpath:/
優(yōu)先級(jí)由高到底,高優(yōu)先級(jí)的配置會(huì)覆蓋低優(yōu)先級(jí)的配置;
SpringBoot會(huì)從這四個(gè)位置全部加載主配置文件;互補(bǔ)配置;還可以通過(guò)spring.config.location來(lái)改變默認(rèn)的配置文件位置項(xiàng)目打包好以后,我們可以使用命令行參數(shù)的形式,啟動(dòng)項(xiàng)目的時(shí)候來(lái)指定配置文件的新位置;指定配置文件和默,認(rèn)加載的這些配置文件共同起作用形成互補(bǔ)配置;
java -jar spring-boot-0.0.1-SNAPSHOT.jar --spring.config.location=D:/application.properties
外部配置加載順序
SpringBoot也可以從以下位置加載配置,優(yōu)先級(jí)從高到低,高優(yōu)先級(jí)的配置覆蓋低優(yōu)先級(jí)的配置,所有的配置會(huì)形成互補(bǔ)配置,由jar包外向jar包內(nèi)進(jìn)行尋找;優(yōu)先加載帶profile,再來(lái)加載不帶profile
1.命令行參數(shù)
所有的配置都可以在命令行上進(jìn)行指定,多個(gè)配置用空格分開(kāi); --配置項(xiàng)=值
java -jar spring-boot-0.0.1-SNAPSHOT.jar --server.port=8081 --server.context-path=/abc
2.來(lái)自java:comp/env的JNDI屬性
3.Java系統(tǒng)屬性(System.getProperties())
4.操作系統(tǒng)環(huán)境變量
5.RandomValuePropertySource配置的random.*屬性值
6.jar包外部的application-{profile}.properties或application.yml(帶spring.profile)配置文件
7.jar包內(nèi)部的application-{profile}.properties或application.yml(帶spring.profile)配置文件
8.jar包外部的application.properties或application.yml(不帶spring.profile)配置文件
9.jar包內(nèi)部的application.properties或application.yml(不帶spring.profile)配置文件
10.@Configuration注解類上的@PropertySource
11.通過(guò)SpringApplication.setDefaultProperties指定的默認(rèn)屬性
參考官方文檔
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP基礎(chǔ)入門(mén)第三篇(ASP腳本基礎(chǔ))2. 詳解CSS不定寬溢出文本適配滾動(dòng)3. Python實(shí)現(xiàn)查找數(shù)據(jù)庫(kù)最接近的數(shù)據(jù)4. python中if嵌套命令實(shí)例講解5. 使用css實(shí)現(xiàn)全兼容tooltip提示框6. CSS自定義滾動(dòng)條樣式案例詳解7. Java之JSP教程九大內(nèi)置對(duì)象詳解(中篇)8. PHP與已存在的Java應(yīng)用程序集成9. 使用ProcessBuilder調(diào)用外部命令,并返回大量結(jié)果10. python b站視頻下載的五種版本
