您好,登錄后才能下訂單哦!
這篇文章主要介紹了Spring Boot指定外部啟動配置文件的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
默認的打包spring boot項目會把配置文件打到jar包中,有時候在測試時需要想修改某些配置項。這時除了可以用啟動參數覆蓋配置項以外,還可以指定外部的配置文件覆蓋已有配置文件。在需要修改較多配置參數的時候會很方便。
默認的查找路徑如下:
1.file:./config/
2.file:./
3.classpath:/config/
4.classpath:/
會依次從1-4的位置查找加載application.yml
或者是application.properties
(這個配置文件名可以通過spring.config.name
修改),比如./config/application.yml
會覆蓋./application.yml及classpath:/config/applicaiton.yml
中的同名配置。
即最簡單的方法是放置一個配置文件到jar包同層目錄下,或是同層目錄下的config子目錄下,啟動jar包即可加載配置文件實現配置項的覆蓋。
當然可以通過修改啟動參數spring.config.location
的值來指定加載目錄或是加載文件:
$ java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties
這樣不會去默認位置加載配置文件,而是加載類路徑下的default.properties
和override.properties
文件,override.properties
中的同名配置會覆蓋default.properties的。
如果指定的路徑是以/結尾則是目錄配置,會去目錄下找配置文件。這個參數默認的配置為:
classpath:/,classpath:/config/,file:./,file:./config/
可以對照上文中的默認查找路徑,是從右到左覆蓋的。
在開發、測試、發布過程中,這三個場景比較固定,通常會定義三份不同的配置application-{profile}.yml,在使用時通過profile參數來切換。
applicaiton-dev.yml applicaiton-test.yml applicaiton-prd.yml
啟動時,通過指定spring.profiles.active
參數來切換配置文件
java -jar myproject.jar --spring.profiles.active=test
當然指定特定配置也滿足配置文件覆蓋的規則,但是一旦指定的spring.config.location不是目錄,而是具體文件時,這個參數切換就失去作用了。
具體更多的擴展配置可以參考 spring boot的官方文檔Externalized Configuration章節。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Spring Boot指定外部啟動配置文件的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。