SpringBoot的yml多環(huán)境配置3種方法
1、多個(gè)yml文件
1.1、創(chuàng)建多個(gè)配置文件
application.yml #主配置文件
application-dev.yml #開發(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 #需要使用的配置文件的后綴
2、單個(gè)yml文件
#激活dev環(huán)境配置
spring:
profiles.active: dev
# 開發(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)境可以通過指定啟動(dòng)參數(shù)來使用不同的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
3、在pom.xml中指定環(huán)境配置
3.1、創(chuàng)建多個(gè)配置文件
application.yml #主配置文件
application-dev.yml #開發(fā)環(huán)境的配置
application-prod.yml #生產(chǎn)環(huán)境的配置
application-test.yml #測(cè)試環(huán)境的配置
3.2、在application.yml中添加多環(huán)境配置屬性
#多環(huán)境配置
profiles:
active: @profiles.active@
3.3、在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>
activeByDefault配置為true則激活對(duì)應(yīng)profile的配置。
或如圖所示,在maven->profiles下勾選動(dòng)態(tài)激活需要使用的配置
3.4、問題:不能識(shí)別符號(hào)@
在步驟二中配置的@profiles.active@,啟動(dòng)會(huì)報(bào)異常,不能識(shí)別@符號(hào)。解決方法:文章來源:http://www.zghlxwxcb.cn/news/detail-798747.html
在pom.xml中設(shè)置filtering為true文章來源地址http://www.zghlxwxcb.cn/news/detail-798747.html
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
到了這里,關(guān)于SpringBoot的yml多環(huán)境配置3種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!