Spring Boot打jar包后配置文件的外部?jī)?yōu)化配置方法
在未進(jìn)行任何處理的情況下,Spring Boot會(huì)默認(rèn)使用項(xiàng)目中的 application.properties 或者 application.yml 來讀取項(xiàng)目所需配置。
我這里只記錄幾種自己所用到的。
訪問命令行屬性
在默認(rèn)的情況下, SpringApplication 會(huì)將任何命令行選項(xiàng)參數(shù)(以 - 開頭 --server.port=9000)轉(zhuǎn)換為 property 并添加到Spring環(huán)境當(dāng)中。
例如,啟動(dòng)項(xiàng)目的時(shí)候指定端口:
java -jar analysis-speech-tool-0.0.1-SNAPSHOT.jar --server.port=9000
Spring Boot使用了一個(gè)非常特殊的 PropertySource 命令,目的是為了讓屬性值的重寫按照一定的順序來,而在這個(gè)順序當(dāng)中,命令行屬性總是優(yōu)先于其他屬性源。
當(dāng)然,如果不想將命令行屬性添加到Spring環(huán)境當(dāng)中,可以使用以下代碼來禁用它們。
SpringApplication.setAddCommandLineProperties(false);
應(yīng)用程序?qū)傩晕募?/strong>
SpringApplication 將從 application.properties 以下位置的文件中加載屬性并且將其添加到Spring的環(huán)境當(dāng)中:
- 當(dāng)前目錄下的 /config 子目錄
- 當(dāng)前目錄
- classpath中的 /config 目錄
- classpath根目錄
該列表按照優(yōu)先級(jí)的順序排列(在列表中較高的位置定義的屬性將會(huì)覆蓋在較低位置定義的屬性)。
如果您不喜歡 application.properties 作為配置文件名,則可以通過指定 spring.config.name 環(huán)境屬性來切換到另一個(gè)名稱。還可以使用 spring.config.location 環(huán)境屬性(以逗號(hào)分隔的目錄位置列表或文件路徑)引用顯式位置。
比如:
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
總結(jié)
以上所述是小編給大家介紹的Spring Boot打jar包后配置文件的外部?jī)?yōu)化配置方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
java實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)項(xiàng)目
這篇文章主要介紹了java實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
Java Socket實(shí)現(xiàn)猜數(shù)字小游戲
這篇文章主要為大家詳細(xì)介紹了Java Socket實(shí)現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
Java實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
MyBatisPlus-QueryWrapper多條件查詢及修改方式
這篇文章主要介紹了MyBatisPlus-QueryWrapper多條件查詢及修改方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
idea項(xiàng)目的左側(cè)目錄沒了如何設(shè)置
這篇文章主要介紹了idea項(xiàng)目的左側(cè)目錄沒了如何設(shè)置的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02
Java7和Java8中的ConcurrentHashMap原理解析
這篇文章主要介紹了Java7和Java8中的ConcurrentHashMap原理解析,對(duì)ConcurrentHashMap感興趣的讀者,一定要好好看一下2021-04-04
詳解eclipse項(xiàng)目中.classpath文件的使用
這篇文章主要介紹了詳解eclipse項(xiàng)目中.classpath文件的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

