SpringBoot-application.yml多環(huán)境配置詳解
介紹
開(kāi)發(fā)SpringBoot應(yīng)用的時(shí)候,通常程序需要在測(cè)試環(huán)境測(cè)試成功后才會(huì)上線到生產(chǎn)環(huán)境。而測(cè)試環(huán)境和生產(chǎn)環(huán)境的數(shù)據(jù)庫(kù)地址、服務(wù)器端口等配置都不同。在為不同環(huán)境打jar包時(shí),需要頻繁的修改application.yml配置文件,十分麻煩。
可以采用創(chuàng)建多個(gè)配置文件的方法解決這一問(wèn)題。
為了實(shí)現(xiàn)多環(huán)境配置,我們可以在本地開(kāi)發(fā)的時(shí)候在Resource文件夾下新建不同環(huán)境的配置文件,如下圖所示:
默認(rèn)配置文件application.yml文件可根據(jù)自己需求使用,最后會(huì)合并其他的application-xx.yml配置文件,當(dāng)前環(huán)境配置文件內(nèi)容優(yōu)先,application.yml優(yōu)先級(jí)最低,相同內(nèi)容使用優(yōu)先級(jí)最高的,不同內(nèi)容合并
maven
<dependencies> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.2.0</version> <configuration> <delimiters>@</delimiters> <useDefaultDelimiters>false</useDefaultDelimiters> </configuration> </plugin> </plugins> <resources> <resource> <!--開(kāi)啟過(guò)濾,用指定的參數(shù)替換directory下的文件中的參數(shù)--> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> <!-- 多環(huán)境配置方案 --> <profiles> <profile> <!-- 本地開(kāi)發(fā)環(huán)境 --> <id>dev</id> <properties> <profileActive>dev</profileActive> </properties> <!-- 默認(rèn)開(kāi)啟這個(gè)配置 --> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <profileActive>test</profileActive> </properties> </profile> <profile> <id>prod</id> <properties> <profileActive>prod</profileActive> </properties> </profile> </profiles>
之后刷新Maven就會(huì)出現(xiàn)各種環(huán)境的選項(xiàng)了,默認(rèn)是dev環(huán)境,打包的時(shí)候選擇對(duì)應(yīng)的環(huán)境打包就行了
yml配置
在application.yml,application-dev.yml, application-prod.yml,application-test.yml 里都加上下面的配置
spring: profiles: active: @profileActive@ # dev開(kāi)發(fā)環(huán)境
啟動(dòng)的時(shí)候就會(huì)自動(dòng)獲取Maven里勾選的配置了
到此這篇關(guān)于SpringBoot-application.yml多環(huán)境配置詳解的文章就介紹到這了,更多相關(guān)SpringBoot application.yml多環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot如何讀取配置文件(application.yml)中的屬性值
- Springboot為什么加載不上application.yml的配置文件
- SpringBoot項(xiàng)目application.yml文件數(shù)據(jù)庫(kù)配置密碼加密的方法
- Springboot如何獲取配置文件application.yml中自定義的變量并使用
- SpringBoot的配置文件application.yml及加載順序詳解
- 解決SpringBoot配置文件application.yml遇到的坑
- SpringBoot中application.yml配置文件的寫法
- JAVA系統(tǒng)中Spring Boot應(yīng)用程序的配置文件application.yml使用詳解
相關(guān)文章
MyBatis-plus實(shí)現(xiàn)逆向生成器
本文主要介紹了MyBatis-plus實(shí)現(xiàn)逆向生成器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08IDEA無(wú)法創(chuàng)建JDK1.8版本的Springboot項(xiàng)目問(wèn)題解決(2種方法)
本文主要介紹了IDEA無(wú)法創(chuàng)建JDK1.8版本的Springboot項(xiàng)目問(wèn)題解決,包含兩種解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07mvn compile報(bào)錯(cuò)“程序包c(diǎn)om.XXX不存在”
本文主要介紹了mvn compile報(bào)錯(cuò)“程序包c(diǎn)om.XXX不存在”,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Java深入了解數(shù)據(jù)結(jié)構(gòu)之哈希表篇
哈希表是一種根據(jù)關(guān)鍵碼去尋找值的數(shù)據(jù)映射結(jié)構(gòu),該結(jié)構(gòu)通過(guò)把關(guān)鍵碼映射的位置去尋找存放值的地方,說(shuō)起來(lái)可能感覺(jué)有點(diǎn)復(fù)雜,我想我舉個(gè)例子你就會(huì)明白了,最典型的的例子就是字典2022-01-01解決@SpringBootTest 單元測(cè)試遇到的坑
這篇文章主要介紹了解決@SpringBootTest 單元測(cè)試遇到的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Java?jar打包成exe應(yīng)用程序的詳細(xì)步驟
本文主要介紹了Java?jar打包成exe應(yīng)用程序的詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01EVCache緩存在Spring Boot中的實(shí)戰(zhàn)示例
這篇文章主要介紹了EVCache緩存在Spring Boot中的實(shí)戰(zhàn)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12基于opencv+java實(shí)現(xiàn)簡(jiǎn)單圖形識(shí)別程序
這篇文章主要給大家介紹了如何基于opencv+java實(shí)現(xiàn)簡(jiǎn)單圖形識(shí)別程序的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01