springboot加載配置文件順序是怎樣的

這篇文章將為大家詳細(xì)講解有關(guān)springboot加載配置文件順序是怎樣的,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司是一家專業(yè)提供洮北企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都做網(wǎng)站、H5頁(yè)面制作、小程序制作等業(yè)務(wù)。10年已為洮北眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

1、目錄結(jié)構(gòu)

Application屬性文件,按優(yōu)先級(jí)排序,位置高的將覆蓋位置

  • 當(dāng)前項(xiàng)目目錄下的一個(gè)/config子目錄
  • 當(dāng)前項(xiàng)目目錄
  • 項(xiàng)目的resources即一個(gè)classpath下的/config包
  • 項(xiàng)目的resources即classpath根路徑(root)

springboot加載配置文件順序是怎樣的

二、讀取順序

如果在不同的目錄中存在多個(gè)配置文件,它的讀取順序是:

1、config/application.properties(項(xiàng)目根目錄中config目錄下)
2、config/application.yml
3、application.properties(項(xiàng)目根目錄下)
4、application.yml
5、resources/config/application.properties(項(xiàng)目resources目錄中config目錄下)
6、resources/config/application.yml
7、resources/application.properties(項(xiàng)目的resources目錄下)
8、resources/application.yml

順序可以通過(guò)實(shí)驗(yàn)驗(yàn)證:

1~8 個(gè)位置 分別定義不同的 server 端口號(hào) 9001~9008

即可驗(yàn)證結(jié)果順序

注:

1、如果同一個(gè)目錄下,有application.yml也有application.properties,默認(rèn)先讀取application.properties。

2、如果同一個(gè)配置屬性,在多個(gè)配置文件都配置了,默認(rèn)使用第1個(gè)讀取到的,后面讀取的不覆蓋前面讀取到的。

3、創(chuàng)建SpringBoot項(xiàng)目時(shí),一般的配置文件放置在項(xiàng)目的resources目錄下,因?yàn)榕渲梦募男薷?,通過(guò)熱部署不用重新啟動(dòng)項(xiàng)目,而熱部署的作用范圍是classpath下

三、配置文件的生效順序,會(huì)對(duì)值進(jìn)行覆蓋

  • @TestPropertySource 注解
     
  • 命令行參數(shù)
  • Java系統(tǒng)屬性(System.getProperties())
  • 操作系統(tǒng)環(huán)境變量
  • 只有在random.*里包含的屬性會(huì)產(chǎn)生一個(gè)RandomValuePropertySource
  • 在打包的jar外的應(yīng)用程序配置文件(application.properties,包含YAML和profile變量)
  • 在打包的jar內(nèi)的應(yīng)用程序配置文件(application.properties,包含YAML和profile變量)
  • 在@Configuration類上的@PropertySource注解
  • 默認(rèn)屬性(使用SpringApplication.setDefaultProperties指定)
     

四、配置隨機(jī)值

roncoo.secret={random.value} roncoo.number={random.int}
roncoo.bignumber={random.long} roncoo.number.less.than.ten={random.int(10)}
roncoo.number.in.range=${random.int[1024,65536]}

讀取使用注解:@Value(value = "${roncoo.secret}")

注:出現(xiàn)黃點(diǎn)提示,是要提示配置元數(shù)據(jù),可以不配置

五、屬性占位符

當(dāng)application.properties里的值被使用時(shí),它們會(huì)被存在的Environment過(guò)濾,所以你能夠引用先前定義的值(比如,系統(tǒng)屬性)
roncoo.name = www.roncoo.com
roncoo.desc = ${roncoo.name} is a domain name

六、其他配置的介紹

端口配置

server.port=8090

時(shí)間格式化

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

時(shí)區(qū)設(shè)置

spring.jackson.time-zone=Asia/Chongqing

關(guān)于springboot加載配置文件順序是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

分享名稱:springboot加載配置文件順序是怎樣的
URL分享:http://muchs.cn/article28/gddicp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、軟件開(kāi)發(fā)、微信小程序網(wǎng)站內(nèi)鏈、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)