springBoot?啟動(dòng)指定配置文件環(huán)境多種方案(最新推薦)
springBoot 啟動(dòng)指定配置文件環(huán)境理論上是有多種方案的,一般都是結(jié)合我們的實(shí)際業(yè)務(wù)選擇不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、啟動(dòng)jar包時(shí)指定等方案,今天我們一一分享一下,以供參考:
1、pom文件配置方案
<profiles> <profile> <!-- 本地開發(fā)環(huán)境 --> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> <!--配置默認(rèn)的配置文件,idea開發(fā)右側(cè)的maven-install中,profiles默認(rèn)選中dev--> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <!-- 測(cè)試環(huán)境 --> <id>test</id> <properties> <profiles.active>test</profiles.active> </properties> <!-- <activation> <activeByDefault>true</activeByDefault> </activation>--> </profile> <profile> <!-- 生產(chǎn)環(huán)境 --> <id>pro</id> <properties> <profiles.active>pro</profiles.active> </properties> <!-- <activation> <activeByDefault>true</activeByDefault> </activation>--> </profile> </profiles>
對(duì)應(yīng)的配置文件舉例:
application-dev.yml application-test.yml application-pro.yml
也可以是目錄配置方式
此處配置三種環(huán)境,用哪個(gè)環(huán)境就把那里設(shè)置為true,然后clean、install 打包后設(shè)置好了。
另外此時(shí)在配置文件添加另外一個(gè)配置也行,指定到pom文件:
#環(huán)境配置開發(fā)時(shí)使用 spring.profiles.active=@profiles.active@
2、maven命令行打包指定
mvn clean package -Pdev mvn clean package -Ptest mvn clean package -Ppro
打包指定相應(yīng)的配置文件。
3、配置文件指定
一般 application.properties 文件中指定環(huán)境
spring.profiles.active=test
指定下面的幾個(gè)文件
4、啟動(dòng)jar包時(shí)指定
nohup java -jar demo-server.jar --spring.profiles.active = test > log.file 2>&1 &
直接啟動(dòng)指定test環(huán)境
5、虛擬機(jī)指定:
-Dspring.profiles.active=dev
6、使用時(shí)注意一下幾點(diǎn),配置文件加載順序:
1)、同級(jí)情況下,application.properties文件優(yōu)先級(jí)大于application.yml,前者會(huì)覆蓋后者;
2)、springboot的默認(rèn)加載路徑有5個(gè),分別是classpath:/、classpath:/config/、項(xiàng)目根路徑、項(xiàng)目根路徑/config/*/、項(xiàng)目根路徑/config/,會(huì)從這5個(gè)路徑下加載application.properties或application.yml;
3)、5個(gè)默認(rèn)的加載路徑的優(yōu)先級(jí)為:項(xiàng)目根路徑下的config > 項(xiàng)目根路徑下的config/*/ > 項(xiàng)目根路徑 > classpath:/config > classpath:/,前者會(huì)覆蓋后者
7、綜上6所述:優(yōu)先級(jí)如下
1):根目錄/config/application.properties
2):根目錄/config/application.yml
3):根目錄/application.properties
4):根目錄/application.yml
5):classpath目錄/config/application.properties
6):classpath目錄/config/application.yml
7):classpath目錄/application.properties
8):classpath目錄/application.yml
到此,springXXX框架指定配置文件及加載的優(yōu)先級(jí)問題分享完畢,大家詳細(xì)測(cè)試一下,定會(huì)驚喜多多。
到此這篇關(guān)于springBoot 啟動(dòng)指定配置文件環(huán)境多種方案的文章就介紹到這了,更多相關(guān)springBoot 啟動(dòng)指定配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaWeb購物車項(xiàng)目開發(fā)實(shí)戰(zhàn)指南
之前沒有接觸過購物車的東東,也不知道購物車應(yīng)該怎么做,所以在查詢了很多資料,總結(jié)一下購物車的功能實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于JavaWeb購物車項(xiàng)目開發(fā)的相關(guān)資料,需要的朋友可以參考下2022-06-06關(guān)于QueryWrapper,實(shí)現(xiàn)MybatisPlus多表關(guān)聯(lián)查詢方式
這篇文章主要介紹了關(guān)于QueryWrapper,實(shí)現(xiàn)MybatisPlus多表關(guān)聯(lián)查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。2022-01-01一分鐘掌握J(rèn)ava?ElasticJob分布式定時(shí)任務(wù)
ElasticJob?是面向互聯(lián)網(wǎng)生態(tài)和海量任務(wù)的分布式調(diào)度解決方案,本文主要通過簡單的示例帶大家深入了解ElasticJob分布式定時(shí)任務(wù)的相關(guān)知識(shí),需要的可以參考一下2023-05-05ES結(jié)合java代碼聚合查詢?cè)敿?xì)示例
es查詢有一個(gè)很常用的一種叫聚合查詢,相當(dāng)于mysql中的分組group by 后拿各組數(shù)量進(jìn)行統(tǒng)計(jì),實(shí)現(xiàn)起來也是很簡單,下面這篇文章主要給大家介紹了關(guān)于ES結(jié)合java代碼聚合查詢的相關(guān)資料,需要的朋友可以參考下2023-05-05java對(duì)接webservice接口的4種方式總結(jié)
因工作需要和一個(gè)Sap相關(guān)系統(tǒng)以WebService的方式進(jìn)行接口聯(lián)調(diào),之前僅聽過這種技術(shù),但并沒有實(shí)操過,所以將本次開發(fā)進(jìn)行記錄,這篇文章主要給大家介紹了關(guān)于java對(duì)接webservice接口的4種方式,需要的朋友可以參考下2023-10-10