簡單了解springboot加載配置文件順序
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)二、讀取順序
如果在不同的目錄中存在多個(gè)配置文件,它的讀取順序是:
1、config/application.properties(項(xiàng)目根目錄中config目錄下)2、config/application.yml3、application.properties(項(xiàng)目根目錄下)4、application.yml5、resources/config/application.properties(項(xiàng)目resources目錄中config目錄下)6、resources/config/application.yml7、resources/application.properties(項(xiàng)目的resources目錄下)8、resources/application.yml
順序可以通過實(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)榕渲梦募男薷模ㄟ^熱部署不用重新啟動(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過濾,所以你能夠引用先前定義的值(比如,系統(tǒng)屬性)roncoo.name = www.roncoo.comroncoo.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
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. XML入門的常見問題(一)2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. PHP字符串前后字符或空格刪除方法介紹4. jsp cookie+session實(shí)現(xiàn)簡易自動(dòng)登錄5. jsp實(shí)現(xiàn)登錄界面6. css進(jìn)階學(xué)習(xí) 選擇符7. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法8. 解析原生JS getComputedStyle9. Echarts通過dataset數(shù)據(jù)集實(shí)現(xiàn)創(chuàng)建單軸散點(diǎn)圖10. AspNetCore&MassTransit Courier實(shí)現(xiàn)分布式事務(wù)的詳細(xì)過程
