SpringBoot-application.yml多環(huán)境配置詳解
介紹
開發(fā)SpringBoot應(yīng)用的時候,通常程序需要在測試環(huán)境測試成功后才會上線到生產(chǎn)環(huán)境。而測試環(huán)境和生產(chǎn)環(huán)境的數(shù)據(jù)庫地址、服務(wù)器端口等配置都不同。在為不同環(huán)境打jar包時,需要頻繁的修改application.yml配置文件,十分麻煩。
可以采用創(chuàng)建多個配置文件的方法解決這一問題。
為了實現(xiàn)多環(huán)境配置,我們可以在本地開發(fā)的時候在Resource文件夾下新建不同環(huán)境的配置文件,如下圖所示:

默認配置文件application.yml文件可根據(jù)自己需求使用,最后會合并其他的application-xx.yml配置文件,當前環(huán)境配置文件內(nèi)容優(yōu)先,application.yml優(yōu)先級最低,相同內(nèi)容使用優(yōu)先級最高的,不同內(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>
<!--開啟過濾,用指定的參數(shù)替換directory下的文件中的參數(shù)-->
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<!-- 多環(huán)境配置方案 -->
<profiles>
<profile>
<!-- 本地開發(fā)環(huán)境 -->
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<!-- 默認開啟這個配置 -->
<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就會出現(xiàn)各種環(huán)境的選項了,默認是dev環(huán)境,打包的時候選擇對應(yīng)的環(huán)境打包就行了

yml配置
在application.yml,application-dev.yml, application-prod.yml,application-test.yml 里都加上下面的配置
spring:
profiles:
active: @profileActive@ # dev開發(fā)環(huán)境
啟動的時候就會自動獲取Maven里勾選的配置了
到此這篇關(guān)于SpringBoot-application.yml多環(huán)境配置詳解的文章就介紹到這了,更多相關(guān)SpringBoot application.yml多環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot如何讀取配置文件(application.yml)中的屬性值
- Springboot為什么加載不上application.yml的配置文件
- SpringBoot項目application.yml文件數(shù)據(jù)庫配置密碼加密的方法
- Springboot如何獲取配置文件application.yml中自定義的變量并使用
- SpringBoot的配置文件application.yml及加載順序詳解
- 解決SpringBoot配置文件application.yml遇到的坑
- SpringBoot中application.yml配置文件的寫法
- JAVA系統(tǒng)中Spring?Boot應(yīng)用程序的配置文件application.yml使用詳解
相關(guān)文章
SpringCloud Feign配置應(yīng)用詳細介紹
這篇文章主要介紹了SpringCloud Feign配置應(yīng)用,feign是netflix提供的服務(wù)間基于http的rpc調(diào)用框架,在spring cloud得到廣泛應(yīng)用2022-09-09
Java數(shù)據(jù)結(jié)構(gòu)之堆(優(yōu)先隊列)的實現(xiàn)
堆(優(yōu)先隊列)是一種典型的數(shù)據(jù)結(jié)構(gòu),其形狀是一棵完全二叉樹,一般用于求解topk問題。本文將利用Java語言實現(xiàn)堆,感興趣的可以學(xué)習一下2022-05-05
Spring注解@RestControllerAdvice原理解析
這篇文章主要介紹了Spring注解@RestControllerAdvice原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2019-11-11
springmvc不進入Controller導(dǎo)致404的問題
這篇文章主要介紹了springmvc不進入Controller導(dǎo)致404的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
SpringMVC中的HandlerMapping和HandlerAdapter詳解
這篇文章主要介紹了SpringMVC中的HandlerMapping和HandlerAdapter詳解,在Spring MVC中,HandlerMapping(處理器映射器)用于確定請求處理器對象,請求處理器可以是任何對象,只要它們使用了@Controller注解或注解@RequestMapping,需要的朋友可以參考下2023-08-08

