首頁 > Java > java教程 > springboot怎麼會找出設定檔路徑的順序和其優先級別

springboot怎麼會找出設定檔路徑的順序和其優先級別

WBOY
發布: 2023-05-26 08:58:18
轉載
2577 人瀏覽過

    查找設定檔路徑的順序和其優先順序

    一、springboot尋找設定檔路徑的順序和其優先順序

    在專案類,有四個地方系統會自動掃描:

    1.file:/config/

    2.file:/

    3.classPath:/config/

    4.classPath:/

    1)其檔案生效優先級別,從上到下,即如果在不同路徑有相同屬性,會優先選擇上面的路徑屬性(1>2> ;3>4)

    2)路徑掃描順序和其優先等級相反(4>3>2>1),後面的會覆蓋前面的,並且所有路徑都會掃描,形成互補。

    二、同路徑下

    application.properties(application.yml)、bootstrap.properties(bootstrap.yml)載入順序及優先順序

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

    提示:bootstrap類型檔案是在多服務項目時,引入了springcloud相關配置才會生效,springboot並不會自動掃描bootstrap文件,只會掃描application文件,所以兩者的比較只有在spingcloud多服務項目中才有意義。

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

    Bootstrap 屬性具有較高的優先權,在預設情況下,它們不會被本地配置所覆蓋。 (這是網路上和官方的說法,但經過本人的測試,發現application 會覆蓋bootstrap,我的理解是不是所有的bootstrap屬性都比application優先,只有涉及底層系統相關配置才會比較高,有不同看法的老哥歡迎探討)

    3)差異:bootstrap 和application 都可以用來設定參數。

    Bootstrap用於早期應用程式引導和設定資訊讀取。可以理解成系統層級的一些參數配置,這些參數一般是不會變動的。一旦bootstrap被加載,則內容不會被覆蓋。

    application.yml 可以用來定義應用級別的, 應用程式特有配置訊息,可以用來配置後續各個模組中需使用的公共參數等。

    4)bootstrap典型的應用場景(經典三點)

    • 1.當使用Spring Cloud Config Server 配置中心時,這時需要在bootstrap.yml 指定spring.applicatio設定檔中n.name 和spring.cloud.config.server.git.uri,新增連接到設定中心的設定屬性來載入外部設定中心的設定資訊

    • 2.一些固定的不能被覆蓋的屬性

    • 3.一些加密/解密的場景

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

    1)載入順序

    .yml先於.properties

    2)優先順序

    .properties優先於.yml,因為.properties後載入會覆蓋.yml

    3)區別

    • 1.yml擁有天然的樹狀結構,properties是鍵值對;

    • 2.在properties檔案中是以」。」進行分割的, 在.yml中是用」:」分割;

    • 3.在.yml中縮排一定不能使用TAB,否則會報很奇怪的錯誤;;

    • 4.yml比.properties對中文對支援更友善。

    • 5.yml是跨語言的:可以在包括JAVA,go,python等大量的語言中使用,例如做雲端運算使用go和java的時候,可以透過設定中心使用同一份配置!

    • 6.自訂設定檔時,只能使用properties,因為spring只有@PropertiesSource註解可以引入自訂註解,對yml沒有支援

    #小結:在同級目錄下,優先級application>bootstrap,.properties>,yml,前綴大於後綴,檔案路徑大於檔案名稱

    springboot設定檔不生效的原因

    1、將打包方式改為jar 。

    <packaging>jar</packaging>
    登入後複製

    2、可能是yml檔案縮近格式不對,仔細檢查一下就行了。

    3、還有就是你的根本就不是boot項目,application.yml沒有葉子標誌

    1.點開項目結構

    springboot怎麼會找出設定檔路徑的順序和其優先級別

    2.開啟模組一次點選

    springboot怎麼會找出設定檔路徑的順序和其優先級別

    #3.

    springboot怎麼會找出設定檔路徑的順序和其優先級別

    #4.重構項目

    springboot怎麼會找出設定檔路徑的順序和其優先級別

    #

    以上是springboot怎麼會找出設定檔路徑的順序和其優先級別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:yisu.com
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板