SpringBoot激活profiles你知道幾種方式?

多環境是最多見的配置隔離方式之一,能夠根據不一樣的運行環境提供不一樣的配置信息來應對不一樣的業務場景,在SpringBoot內支持了多種配置隔離的方式,能夠激活單個或者多個配置文件。java

激活Profiles的方式

激活的profiles要在項目內建立對應的配置文件,格式爲application-{profile}.ymlspring

命令行方式

命令行方式是一種外部配置的方式,在執行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系統屬性方式也是一種外部配置的方式,在執行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

若是須要激活多個profile可使用逗號隔開,如:--spring.profiles.active=dev,test

敲黑板劃重點

每個應用項目都會用到大量的配置文件或者外部配置中心,而配置信息的激活是必不可少的一步,尤其重要

建議你們使用系統環境變量的方式來激活指定profile的配置,這種方式比較簡單,系統全局均可以使用(注意:系統全局表明着該系統下所運行的所有SpringBoot應用都會採用該配置),固然也能夠採用優先級替換的規則進行單獨指定。

做者我的 博客

使用開源框架 ApiBoot 助你成爲Api接口服務架構師

相關文章
相關標籤/搜索