SpringBoot中yml多環(huán)境配置的3種方法
方式一:多個(gè)yml文件
步驟一、創(chuàng)建多個(gè)配置文件
application.yml #主配置文件 application-dev.yml #開(kāi)發(fā)環(huán)境的配置 application-prod.yml #生產(chǎn)環(huán)境的配置 application-test.yml #測(cè)試環(huán)境的配置
步驟二、applicaiton.yml中指定配置
在application.yml中選擇需要使用的配置文件(當(dāng)選擇的文件和application.yml文件存在相同的配置時(shí),application.yml中的配置會(huì)被覆蓋掉)
spring: profiles: active: dev #需要使用的配置文件的后綴
方式二: 單個(gè)yml文件
#激活dev環(huán)境配置
spring:
profiles.active: dev
# 開(kāi)發(fā)環(huán)境配置
spring:
profiles: dev
datasource:
url: jdbc:mysql://127.0.0.1:3306/dev?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
server:
port: 8080
# 測(cè)試環(huán)境配置
spring:
profiles: test
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
username: root
password: test
driver-class-name: com.mysql.jdbc.Driver
server:
port: 88
# 生產(chǎn)環(huán)境配置
spring:
profiles: prod
datasource:
url: jdbc:mysql://localhost:3306/prod?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
username: root
password: prod
driver-class-name: com.mysql.jdbc.Driver
server:
port: 99
配置默認(rèn)的profile為dev,其他環(huán)境可以通過(guò)指定啟動(dòng)參數(shù)來(lái)使用不同的profile,比如:
測(cè)試環(huán)境:java -jar 項(xiàng)目.jar --spring.profiles.active=test
生產(chǎn)環(huán)境:java -jar 項(xiàng)目.jar --spring.profiles.active=prod
方式三:在pom.xml中指定環(huán)境配置
步驟一、創(chuàng)建多個(gè)配置文件
application.yml #主配置文件 application-dev.yml #開(kāi)發(fā)環(huán)境的配置 application-prod.yml #生產(chǎn)環(huán)境的配置 application-test.yml #測(cè)試環(huán)境的配置
步驟二、在application.yml中添加多環(huán)境配置屬性
#多環(huán)境配置
profiles:
active: @profiles.active@
步驟三、在pom.xml中指定使用的配置
<profiles>
<profile>
<id>dev</id>
<activation>
<!-- 默認(rèn)激活-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profiles.active>dev</profiles.active>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
</profiles>
true配置為true則激活對(duì)應(yīng)profile的配置。
或如圖所示,在maven->profiles下勾選動(dòng)態(tài)激活需要使用的配置

避坑:不能識(shí)別符號(hào)@
在步驟二中配置的@profiles.active@,啟動(dòng)會(huì)報(bào)異常,不能識(shí)別@符號(hào)。解決方法:
在pom.xml中設(shè)置filtering為true
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
總結(jié):
三種方式都可以實(shí)現(xiàn)多環(huán)境的配置。在application.yml主配置文件中做項(xiàng)目通用的配置,在其他配置文件中做不同環(huán)境下的配置,以避免重復(fù)配置的情況。
以上就是SpringBoot中yml多環(huán)境配置的3種方法的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot yml多環(huán)境配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java wait()/notify() 實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式詳解
這篇文章主要介紹了java wait()/notify() 實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
使用Java生成和識(shí)別二維碼的簡(jiǎn)易教程
在當(dāng)今瞬息萬(wàn)變的商業(yè)和技術(shù)環(huán)境中,二維碼已成為快速、高效信息傳遞的代名詞,本文將為您介紹 Spire.Barcode for Java 這一強(qiáng)大工具,它能幫助您輕松應(yīng)對(duì)Java應(yīng)用程序中的二維碼生成與識(shí)別挑戰(zhàn),需要的朋友可以參考下2025-09-09
劍指Offer之Java算法習(xí)題精講鏈表專項(xiàng)訓(xùn)練
跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過(guò)之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化2022-03-03
詳解在spring中使用JdbcTemplate操作數(shù)據(jù)庫(kù)的幾種方式
這篇文章主要介紹了詳解在spring中使用JdbcTemplate操作數(shù)據(jù)庫(kù)的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

