您好,登錄后才能下訂單哦!
小編給大家分享一下Spring Boot如何優化打jar包后配置文件的外部配置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在未進行任何處理的情況下,Spring Boot會默認使用項目中的 application.properties
或者 application.yml
來讀取項目所需配置。
我這里只記錄幾種自己所用到的。
訪問命令行屬性
在默認的情況下, SpringApplication 會將任何命令行選項參數(以 - 開頭 --server.port=9000)轉換為 property 并添加到Spring環境當中。
例如,啟動項目的時候指定端口:
java -jar analysis-speech-tool-0.0.1-SNAPSHOT.jar --server.port=9000
Spring Boot使用了一個非常特殊的 PropertySource 命令,目的是為了讓屬性值的重寫按照一定的順序來,而在這個順序當中,命令行屬性總是優先于其他屬性源。
當然,如果不想將命令行屬性添加到Spring環境當中,可以使用以下代碼來禁用它們。
SpringApplication.setAddCommandLineProperties(false);
應用程序屬性文件
SpringApplication 將從 application.properties 以下位置的文件中加載屬性并且將其添加到Spring的環境當中:
當前目錄下的 /config 子目錄
當前目錄
classpath中的 /config 目錄
classpath根目錄
該列表按照優先級的順序排列(在列表中較高的位置定義的屬性將會覆蓋在較低位置定義的屬性)。
如果您不喜歡 application.properties 作為配置文件名,則可以通過指定 spring.config.name 環境屬性來切換到另一個名稱。還可以使用 spring.config.location 環境屬性(以逗號分隔的目錄位置列表或文件路徑)引用顯式位置。
比如:
java -jar myproject.jar --spring.config.name = myproject java -jar myproject.jar --spring.config.location = classpath:/default.properties,classpath:/override.properties java -jar -Dspring.config.location=D:\speech\default.properties analysis-speech-tool-0.0.1-SNAPSHOT.jar
以上是“Spring Boot如何優化打jar包后配置文件的外部配置”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。