欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot如何查找配置文件路徑的順序和其優(yōu)先級(jí)別

 更新時(shí)間:2022年08月29日 08:41:46   作者:艾尚波  
此文是在工作中遇到的關(guān)于springboot配置文件的問(wèn)題,在網(wǎng)上查閱資料和自己測(cè)試之后記錄的,以便日后查閱。希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

查找配置文件路徑的順序和其優(yōu)先級(jí)別

提示:以下是本篇文章正文內(nèi)容,下面案例僅供參考

一、springboot查找配置文件路徑的順序和其優(yōu)先級(jí)別

在項(xiàng)目類(lèi),有四個(gè)地方系統(tǒng)會(huì)自動(dòng)掃描:

1.file:/config/

2.file:/

3.classPath:/config/

4.classPath:/

1)其文件生效優(yōu)先級(jí)別,從上到下,即如果在不同路徑有相同屬性,會(huì)優(yōu)先選擇上面的路徑屬性(1>2>3>4)

2)路徑掃描順序和其優(yōu)先級(jí)別相反(4>3>2>1),后面的會(huì)覆蓋前面的,并且所有路徑都會(huì)掃描,形成互補(bǔ)。

二、同路徑下

application.properties(application.yml)、bootstrap.properties(bootstrap.yml)加載順序及優(yōu)先級(jí)別

1.application和bootstrap比較(前綴比較)

提示:bootstrap類(lèi)型文件是在多服務(wù)項(xiàng)目時(shí),引入了springcloud相關(guān)配置才會(huì)生效,springboot并不會(huì)自動(dòng)掃描bootstrap文件,只會(huì)掃描application文件,所以?xún)烧叩谋容^只有在spingcloud多服務(wù)項(xiàng)目中才有意義。

1)先后加載順序:若application 和bootstrap 在同一目錄下:bootstrap先加載 application后加載

2)優(yōu)先級(jí)問(wèn)題:Bootstrap 屬性有高優(yōu)先級(jí),默認(rèn)情況下,它們不會(huì)被本地配置覆蓋。(這個(gè)是網(wǎng)上和官方的說(shuō)法,但經(jīng)過(guò)本人的測(cè)試,發(fā)現(xiàn)application 會(huì)覆蓋bootstrap,我的理解是不是所有的bootstrap屬性都比application優(yōu)先,只有涉及底層系統(tǒng)相關(guān)配置才會(huì)比較高 ,有不同看法的老哥歡迎探討)

3)區(qū)別:bootstrap 和 application 都可以用來(lái)配置參數(shù)。

bootstrap 用來(lái)程序引導(dǎo)時(shí)執(zhí)行,應(yīng)用于更加早期配置信息讀取??梢岳斫獬上到y(tǒng)級(jí)別的一些參數(shù)配置,這些參數(shù)一般是不會(huì)變動(dòng)的。一旦bootstrap被加載,則內(nèi)容不會(huì)被覆蓋。

application.yml 可以用來(lái)定義應(yīng)用級(jí)別的, 應(yīng)用程序特有配置信息,可以用來(lái)配置后續(xù)各個(gè)模塊中需使用的公共參數(shù)等。

4)bootstrap典型的應(yīng)用場(chǎng)景(經(jīng)典三點(diǎn))

  • 1.當(dāng)使用 Spring Cloud Config Server 配置中心時(shí),這時(shí)需要在 bootstrap.yml 指定 spring.applicatio配置文件中n.name 和 spring.cloud.config.server.git.uri,添加連接到配置中心的配置屬性來(lái)加載外部配置中心的配置信息
  • 2.一些固定的不能被覆蓋的屬性
  • 3.一些加密/解密的場(chǎng)景

2. .properties和.yml比較(后綴比較)

1)加載順序

.yml先于.properties

2)優(yōu)先級(jí)別

.properties優(yōu)先于.yml,因?yàn)?properties后加載會(huì)覆蓋.yml

3)區(qū)別

  • 1.yml擁有天然的樹(shù)狀結(jié)構(gòu),properties是鍵值對(duì);
  • 2.在properties文件中是以”.”進(jìn)行分割的, 在.yml中是用”:”進(jìn)行分割;
  • 3.在.yml中縮進(jìn)一定不能使用TAB,否則會(huì)報(bào)很奇怪的錯(cuò)誤;;
  • 4.yml比.properties對(duì)中文對(duì)支持更友好。
  • 5.yml是跨語(yǔ)言的:可以在包括JAVA,go,python等大量的語(yǔ)言中使用,比如做云計(jì)算使用go和java的時(shí)候,可以通過(guò)配置中心使用同一份配置!
  • 6.在自定義配置文件時(shí),只能使用properties,因?yàn)閟pring只有@PropertiesSource注解可以引入自定義注解,對(duì)yml沒(méi)有支持

小結(jié):在同級(jí)目錄下,優(yōu)先級(jí)別application>bootstrap,.properties>,yml,前綴大于后綴,文件路徑大于文件名稱(chēng)

springboot配置文件不生效的原因

1、將打包方式改為jar 。

<packaging>jar</packaging>

2、可能是yml文件縮近格式不對(duì),仔細(xì)檢查一下就行了。

3、還有就是你的根本就不是boot項(xiàng)目,application.yml沒(méi)有葉子標(biāo)志

1.點(diǎn)開(kāi)項(xiàng)目結(jié)構(gòu)

2.打開(kāi)模塊一次點(diǎn)擊

3.

4.重構(gòu)項(xiàng)目

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于html5+java實(shí)現(xiàn)大文件上傳實(shí)例代碼

    基于html5+java實(shí)現(xiàn)大文件上傳實(shí)例代碼

    本文通過(guò)一段實(shí)例代碼給大家介紹基于html5+java實(shí)現(xiàn)大文件上傳,涉及到html5 java 文件上傳相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • 基于Ant路徑匹配規(guī)則AntPathMatcher的注意事項(xiàng)

    基于Ant路徑匹配規(guī)則AntPathMatcher的注意事項(xiàng)

    這篇文章主要介紹了基于Ant路徑匹配規(guī)則AntPathMatcher的注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 深入淺析Spring Security5中默認(rèn)密碼編碼器

    深入淺析Spring Security5中默認(rèn)密碼編碼器

    這篇文章主要介紹了Spring Security5中默認(rèn)密碼編碼器,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • maven中pom.xml詳細(xì)介紹

    maven中pom.xml詳細(xì)介紹

    最近在學(xué)習(xí)maven,這篇文章主要介紹了maven中pom.xml詳細(xì)介紹,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Spring中屬性注入詳解

    Spring中屬性注入詳解

    這篇文章主要為大家詳細(xì)介紹了Spring中屬性注入,演示了int、String、數(shù)組、list等屬性的注入,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • java中BigDecimal進(jìn)行加減乘除的基本用法

    java中BigDecimal進(jìn)行加減乘除的基本用法

    大家應(yīng)該對(duì)于不需要任何準(zhǔn)確計(jì)算精度的數(shù)字可以直接使用float或double運(yùn)算,但是如果需要精確計(jì)算的結(jié)果,則必須使用BigDecimal類(lèi),而且使用BigDecimal類(lèi)也可以進(jìn)行大數(shù)的操作。下面這篇文章就給大家介紹介紹關(guān)于java中BigDecimal進(jìn)行加減乘除的基本用法。
    2016-12-12
  • Spring-Task定時(shí)任務(wù)的使用介紹

    Spring-Task定時(shí)任務(wù)的使用介紹

    目前springboot應(yīng)用廣泛,因此對(duì)于spring-task直接基于springboot框架介紹,不涉及xml配置。本文直接介紹spring-task的使用方法,需要的可以參考一下
    2022-11-11
  • 老生常談spring?boot中的定時(shí)任務(wù)

    老生常談spring?boot中的定時(shí)任務(wù)

    SpringBoot中的定時(shí)任務(wù)主要通過(guò)@Scheduled注解以及SchedulingConfigurer接口實(shí)現(xiàn),本文給大家介紹spring?boot中的定時(shí)任務(wù),感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • java 中動(dòng)態(tài)代理(JDK,cglib)實(shí)例代碼

    java 中動(dòng)態(tài)代理(JDK,cglib)實(shí)例代碼

    這篇文章主要介紹了java 中動(dòng)態(tài)代理,這里介紹了JDK 動(dòng)態(tài)代理與 cglib 動(dòng)態(tài)代理的相關(guān)資料
    2017-04-04
  • Java數(shù)據(jù)導(dǎo)入功能之讀取Excel文件實(shí)例

    Java數(shù)據(jù)導(dǎo)入功能之讀取Excel文件實(shí)例

    這篇文章主要介紹了Java數(shù)據(jù)導(dǎo)入功能之讀取Excel文件實(shí)例,本文給出了jar包的下載地址以及讀取Excel文件的代碼實(shí)例,需要的朋友可以參考下
    2015-06-06

最新評(píng)論