springboot實(shí)現(xiàn)配置多個(gè)yml文件
掌握方式一就夠了,方式二、三可以不看
以下三種方式都可以實(shí)現(xiàn)多環(huán)境的配置。在application.yml主配置文件中做項(xiàng)目通用的配置,在其他配置文件中做不同環(huán)境下的配置,以避免重復(fù)配置的情況。
方式一:多個(gè)yml文件
步驟一、多個(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 #需要使用的配置文件的后綴
方式二: 單個(gè)yml文件
配置默認(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
#激活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
方式三:在pom.xml中指定環(huán)境配置
步驟一、創(chuàng)建多個(gè)配置文件
application.yml #主配置文件 application-dev.yml #開發(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中指定使用的配置
true配置為true則激活對(duì)應(yīng)profile的配置。
或如圖所示,在maven->profiles下勾選動(dòng)態(tài)激活需要使用的配置
<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>
方式三的閉坑:
避坑:不能識(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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Boot?實(shí)現(xiàn)?IP?限流的原理、實(shí)踐與利弊解析
在Spring?Boot中實(shí)現(xiàn)IP限流是一種簡(jiǎn)單而有效的方式來(lái)保障系統(tǒng)的穩(wěn)定性和可用性,本文給大家介紹Spring?Boot實(shí)現(xiàn)IP限流:原理、實(shí)踐與利弊分析,感興趣的朋友跟隨小編一起看看吧2025-06-06
詳解使用Spring的BeanPostProcessor優(yōu)雅的實(shí)現(xiàn)工廠模式
這篇文章主要介紹了詳解使用Spring的BeanPostProcessor優(yōu)雅的實(shí)現(xiàn)工廠模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Java中LinkedHashSet的實(shí)現(xiàn)原理詳解
這篇文章主要介紹了Java中LinkedHasSet的實(shí)現(xiàn)原理詳解,LinkedHashSet?是具有可預(yù)知迭代順序的?Set?接口的哈希表和鏈接列表實(shí)現(xiàn),此實(shí)現(xiàn)與HashSet?的不同之處在于,后者維護(hù)著一個(gè)運(yùn)行于所有條目的雙重鏈接列表,需要的朋友可以參考下2023-09-09
Java基于代理模式解決紅酒經(jīng)銷問(wèn)題詳解
這篇文章主要介紹了Java基于代理模式解決紅酒經(jīng)銷問(wèn)題,詳細(xì)描述了代理模式的概念、原理并結(jié)合實(shí)例形式分析了java基于代理模式解決紅酒經(jīng)銷問(wèn)題的相關(guān)步驟、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2018-04-04
Spring?Security權(quán)限控制的實(shí)現(xiàn)接口
這篇文章主要介紹了Spring?Security的很多功能,在這些眾多功能中,我們知道其核心功能其實(shí)就是認(rèn)證+授權(quán)。Spring教程之Spring?Security的四種權(quán)限控制方式2023-03-03
SpringBoot配置數(shù)據(jù)庫(kù)密碼加密的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot配置數(shù)據(jù)庫(kù)密碼加密的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Java中List對(duì)象集合按對(duì)象中某字段進(jìn)行排序舉例
這篇文章主要給大家介紹了關(guān)于Java中List對(duì)象集合按對(duì)象中某字段進(jìn)行排序的相關(guān)資料,我們?cè)谌粘i_發(fā)中也經(jīng)常會(huì)用到排序算法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
多線程_解決Runnable接口無(wú)start()方法的情況
這篇文章主要介紹了多線程_解決Runnable接口無(wú)start()方法的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03

