1. 程式人生 > >SpringBoot2.0(二) 配置文件多環境

SpringBoot2.0(二) 配置文件多環境

resources boot 配置參數 參數 其中 文件名 java 指定 adl

在SpringBoot中,多環節的配置文件名基於application-{profile}.properties的格式,其中{profile}對應環境標識,比如:

  • application-daily.properties  測試環境
  • application-gray.properties  灰度環境
  • application-production.properties  線上環境

在啟動時具體加載的文件由spring.profiles.active屬性來設置。

該值可以在applicaton.properties文件中設置,也可以在啟動命令上指定。

執行java -jar xxx.jar,使用默認的開發環境(local)

執行java -jar xxx.jar --spring.profiles.active=daily,使用測試環境的配置(daily)

執行java -jar xxx.jar --spring.profiles.active=production,使用生產環境的配置(production)

除了application.properties文件的配置之外,也有一些中間件依賴的配置文件,這些文件一般有限定的文件名,固定的配置參數等。

這些文件要分環境打包的話,有一種策略是分別維護多套環境的配置文件,在打包時做相應的替換處理。

項目基於gradle時,配置如下:

task copyEnv(type: Copy) {
    from 
"src/main/env/" + System.properties[‘env‘] into "build/resources/main" } bootJar.dependsOn copyEnv

在編譯時,命令如下:

gradle bootJar -Denv=daily

技術分享圖片

配置文件路徑如上圖,不同的環境維護相應的路徑即可。

SpringBoot2.0(二) 配置文件多環境