springboot中spring.profiles.include的妙用。
我們有這樣的一個springboot項目。項目分為開發、測試、生產三個不同階段(環境),每個階段都會有db、ftp、redis等的不同配置信息。我們可以使用spring.profiles.include來實現三種不同環境的一鍵切換。
項目總(入口)配置文件:
bootstrap.yml ,內容如下
spring.profiles.active: dev #dev、test、prod 三種配置可以在這里進行一鍵切換,默認激活 dev(開發)環境配置
項目開發環境配置文件:
application-dev.yml (開發環境入口配置)、application-devDb.yml 、application-devFtp.yml、application-devRedis.yml
application-dev.yml 中含有如下內容
spring.profiles.include: devDb,devFtp,devRedis
項目測試環境配置文件:
application-test.yml (測試環境入口配置)、application-testDb.yml 、application-testFtp.yml、application-testRedis.yml
application-test.yml 中含有如下內容
spring.profiles.include: testDb,testFtp,testRedis
項目生產環境配置文件:
application-prod.yml (生產環境入口配置)、application-prodDb.yml 、application-prodFtp.yml、application-prodRedis.yml
application-prod.yml 中含有如下內容
spring.profiles.include: prodDb,prodFtp,prodRedis
spring.profiles.include 的作用是可以疊加激活新的profile ,這樣可以在總的項目配置(bootstrap.yml)中實現一鍵切換dev、test、prod三者不同環境, 即
切換為dev時,同時激活了dev、devDb、devFtp、devRedis 的profile
切換為test時,同時激活了test、testDb、testFtp、testRedis 的profile
切換為prod時,同時激活了prod、prodDb、prodFtp、prodRedis 的profile
另外: 在yml配置文件中配置List<String> 的值,可以采用 -子項 的方式,如 :
spring.profiles.include:
- 子項1
- 子項2
- 子項3
也可以采用 逗號分隔元素列表的方式,如:
spring.profiles.include: 子項1,子項2,子項3
---------------------
作者:jasnet_u
來源:CSDN
原文:https://blog.csdn.net/jasnet_u/article/details/82995845
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!