SpringBoot中yml多環(huán)境配置的3種方法
方式一:多個yml文件
步驟一、創(chuàng)建多個配置文件
application.yml #主配置文件 application-dev.yml #開發(fā)環(huán)境的配置 application-prod.yml #生產(chǎn)環(huán)境的配置 application-test.yml #測試環(huán)境的配置
步驟二、applicaiton.yml中指定配置
在application.yml中選擇需要使用的配置文件(當(dāng)選擇的文件和application.yml文件存在相同的配置時,application.yml中的配置會被覆蓋掉)
spring: profiles: active: dev #需要使用的配置文件的后綴
方式二: 單個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 # 測試環(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)境可以通過指定啟動參數(shù)來使用不同的profile,比如:
測試環(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)建多個配置文件
application.yml #主配置文件 application-dev.yml #開發(fā)環(huán)境的配置 application-prod.yml #生產(chǎn)環(huán)境的配置 application-test.yml #測試環(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則激活對應(yīng)profile的配置。
或如圖所示,在maven->profiles下勾選動態(tài)激活需要使用的配置
避坑:不能識別符號@
在步驟二中配置的@profiles.active@,啟動會報異常,不能識別@符號。解決方法:
在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)境配置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解SpringBoot?調(diào)用外部接口的三種方式
SpringBoot不僅繼承了Spring框架原有的優(yōu)秀特性,而且還通過簡化配置來進(jìn)一步簡化了Spring應(yīng)用的整個搭建和開發(fā)過程,這篇文章主要介紹了SpringBoot?調(diào)用外部接口的三種方式,需要的朋友可以參考下2023-04-04RequestContextHolder.getRequestAttributes()空指針問題及解決
這篇文章主要介紹了RequestContextHolder.getRequestAttributes()空指針問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01