SpringBoot配置文件加載


記錄自己的一部分學習經歷。

1.SpringBoot配置文件加載方式

  1.1 SpringBoot項目加載內部配置文件

    1.1.1 SpringBoot加載內部配置文件的順序

      項目目錄結構為標准的maven項目結構,如下圖所示

      

 

      先寫出結論吧:file:./config > file:./ > classpath:/config > classpath:/   

      具體可參考SpringBoot文檔:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config   

      在項目中表示如下圖所示:

      

       這里先驗證下classpath:/config/application.yml和classpath:/application.yml的優先級

      config/application.yml

       

      resources/application.yml

      

      啟動項目,控制台輸出如下所示

      

      起作用的是config/application.yml,因為此優先級比較高。其他的優先級比較小伙伴可以自行測試。

     

  1.2 SpringBoot項目打成jar包之后加載外部的配置文件

    將項目打成jar包之后,可以通過命令行或者添加外部的目錄來實現外部配置文件的加載。順道一提,在項目的根路徑config和根路徑下的配置文件並不會被打包到jar中,即下圖兩個配置文件並不會打到jar包中。

      

      解壓jar包之中並沒有配置文件

      

      回歸正題,打成jar包之后,可以在jar包當前目錄下建config,或者直接在jar包同目錄下增加配置文件。

      

      jar包外存在兩個配置文件(config目錄下也有一個application.yml),項目啟動時,優先讀取config目錄下的application.yml。但是,如果項目的resources/application.yml之中已經設置了spring.profiles.active,

      那么項目啟動時直接讀取resources下的application.yml配置文件,不會讀取jar包外的配置文件。

      除此之外,也可以在命令行模式下通過spring.config.location增加自定義的配置文件存放目錄,該命令設置的配置文件優先級高於別的(最高)。

      第一次寫博文,如有錯誤和不足請各位大佬指正

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM