多環境是最多見的配置隔離
方式之一,能夠根據不一樣的運行環境提供不一樣的配置信息來應對不一樣的業務場景,在SpringBoot
內支持了多種配置隔離的方式,能夠激活單個或者多個配置文件。java
激活的profiles
要在項目內建立對應的配置文件,格式爲application-{profile}.yml
。spring
命令行方式
是一種外部配置的方式,在執行java -jar
命令時能夠經過--spring.profiles.active=test
的方式進行激活指定的profiles
列表。api
使用方式以下所示:架構
java -jar order-service-v1.0.jar --spring.profiles.active=dev &> order-service.log &複製代碼
Mac/Linux系統配置環境變量app
編輯環境變量配置文件/etc/profile
,添加名爲SPRING_PROFILES_ACTIVE
的環境變量,以下所示:框架
# spring 環境激活
export SPRING_PROFILES_ACTIVE=dev複製代碼
Windows系統配置環境變量測試
環境變量的配置方式請參考Java環境變量配置,新建一個名爲SPRING_PROFILES_ACTIVE
的系統環境變量,設置變量的值爲dev
便可。spa
系統變量的方式適用於系統下所部署統一環境的
SpringBoot
應用程序,如統一部署的都是prod
環境的應用程序。命令行
Java系統屬性方式
也是一種外部配置的方式,在執行java -jar
命令時能夠經過-Dspring.profiles.active=test
的方式進行激活指定的profiles
列表。code
使用方式以下所示:
java -Dspring.profiles.active=dev -jar order-service-v1.0.jar &> order-service.log &複製代碼
注意:
-D
方式設置Java系統屬性
要在-jar
前定義。
配置文件方式
是最經常使用的方式,不過靈活性不強,侷限性比較大,不建議使用這種方式來激活配置文件。
咱們只須要在application.yml
配置文件添加配置便可,使用方式以下所示:
spring:
profiles:
# 激活profiles
active: dev複製代碼
命令行方式 > Java系統屬性方式 > 系統變量方式 > 配置文件方式複製代碼
通過測試命令行方式
的優先級最高,而內部配置文件方式
則是最低的。
若是須要激活多個profile
可使用逗號隔開,如:--spring.profiles.active=dev,test
每個應用項目都會用到大量的配置文件或者外部配置中心,而配置信息的激活
是必不可少的一步,尤其重要。
建議你們使用系統環境變量
的方式來激活指定profile
的配置,這種方式比較簡單,系統全局均可以使用(注意:系統全局表明着該系統下所運行的所有SpringBoot應用都會採用該配置
),固然也能夠採用優先級替換的規則
進行單獨指定。
做者我的 博客
使用開源框架 ApiBoot 助你成爲Api接口服務架構師