溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

淺談SpringBoot內(nèi)部外部配置文件加載順序

發(fā)布時間:2020-07-16 17:47:24 來源:億速云 閱讀:216 作者:小豬 欄目:開發(fā)技術(shù)

小編這次要給大家分享的是淺談SpringBoot內(nèi)部外部配置文件加載順序,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

內(nèi)部配置加載順序

SpringBoot 啟動會掃描以下位置的application.properties或者application.yml文件作為Spring boot的默認配置文件

–file:./config/
–file:./
–classpath:/config/
–classpath:/

優(yōu)先級由高到底,高優(yōu)先級的配置會覆蓋低優(yōu)先級的配置;

SpringBoot會從這四個位置全部加載主配置文件;互補配置;還可以通過spring.config.location來改變默認的配置文件位置
項目打包好以后,我們可以使用命令行參數(shù)的形式,啟動項目的時候來指定配置文件的新位置;指定配置文件和默,認加載的這些配置文件共同起作用形成互補配置;

java -jar spring-boot-0.0.1-SNAPSHOT.jar --spring.config.location=D:/application.properties

外部配置加載順序

SpringBoot也可以從以下位置加載配置,優(yōu)先級從高到低,高優(yōu)先級的配置覆蓋低優(yōu)先級的配置,所有的配置會形成互補配置,由jar包外向jar包內(nèi)進行尋找;優(yōu)先加載帶profile,再來加載不帶profile

1.命令行參數(shù)

所有的配置都可以在命令行上進行指定,多個配置用空格分開; --配置項=值

java -jar spring-boot-0.0.1-SNAPSHOT.jar --server.port=8081 --server.context-path=/abc

2.來自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.通過SpringApplication.setDefaultProperties指定的默認屬性

看完這篇關(guān)于淺談SpringBoot內(nèi)部外部配置文件加載順序的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI