Springboot配置文件加載位置

spring boot 啟動(dòng)會(huì)掃描以下位置的application.properties或者application.yml文件作為Spring boot的默認(rèn)配置文件

-file:./conifg/

-file:./

-classpath:/config/

-classpath:/

以上是按照優(yōu)先級從高到低的順序,所有位置的文件都會(huì)被加載,

高優(yōu)先級配置內(nèi)容會(huì)覆蓋低優(yōu)先級配置內(nèi)容。

Spring Boot會(huì)從這四個(gè)位置全部加載主配置文件;互補(bǔ)配置;

檢查springboot版本為2.2.4,SpringBoot在2.0版本之后已經(jīng)棄用server.context-path,而代替為server.servlet.context-path


我們也可以通過配置spring.config.location來改變默認(rèn)配置

項(xiàng)目打包好以后,我們可以使用命令行參數(shù)的形式,啟動(dòng)項(xiàng)目的時(shí)候來指定

配置文件的新位置;指定配置文件和默認(rèn)加載的這些配置文件共同起作用形成

互補(bǔ)配置;

外部配置加載順序:

Spring Boot支持多種外部配置方式

這些方式優(yōu)先級如下:

https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config

SpringBoot 也可以從以下位置加載配置;優(yōu)先級從高到低;搞優(yōu)先級的配置

覆蓋低優(yōu)先級的配置,所有的配置會(huì)形成互補(bǔ)配置。

1,命令行參數(shù)

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指定的默認(rèn)屬性

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容