中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springcloud中怎么使用profile實現多環境配置

發布時間:2022-03-01 16:25:11 來源:億速云 閱讀:337 作者:iii 欄目:開發技術

這篇文章主要介紹“springcloud中怎么使用profile實現多環境配置”,在日常操作中,相信很多人在springcloud中怎么使用profile實現多環境配置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”springcloud中怎么使用profile實現多環境配置”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

使用profile實現多環境配置

基本介紹

在開發過程中,我們的項目會存在不同的運行環境,比如開發環境、測試環境、生產環境,而我們的項目在不同的環境中,有的配置可能會不一樣,比如數據源配置、日志文件配置、以及一些軟件運行過程中的基本配置,那每次我們將軟件部署到不同的環境時,都需要修改相應的配置文件,這樣來回修改,很容易出錯,而且浪費勞動力。

springcloud默認會訪問的配置文件名是application.properties,

我們如果要創建多環境的配置文件的話,文件名格式應為:application-{profile}.properties

其中的{profile}用來標識不同的環境,如application-native.properties文件可以用來配置本地環境、application-prod.properties文件可以用來配置生產環境。

springcloud中通過“spring.profiles.active”屬性來指定{profile},如spring.profiles.active=native,則使用的是application-native.properties配置文件。

由于springcloud配置中心和springboot的多環境配置并沒有打通,

所以使用java -jar xxxx.jar --spring.profiles.active=prod命令只能對springboot項目中的配置有效,

并不能從配置中心獲取不同的環境配置,想要實現目標還需要多做一些工作。 

項目配置

在bootstrap.yml文件中配置配置中心,如下所示

使用三個短橫線將不同環境分隔開,這樣可以在一個文件中完成多個環境配置

spring:
  profiles:
    active: dev
---
spring:
  profiles: dev
  cloud:
    bootstrap:
      enabled: false
    config:
      uri: http://localhost:8888
      name: webclient
      profile: dev
---
spring:
  profiles: test
  cloud:
    bootstrap:
      enabled: false
    config:
      uri: http://localhost:8888
      name: webclient
      profile: test
---
spring:
  profiles: prod
  cloud:
    bootstrap:
      enabled: false
    config:
      uri: http://localhost:8888
      name: webclient
      profile: prod

springcloud中怎么使用profile實現多環境配置

而頂層pom中的配置情況是如下的:

springcloud中怎么使用profile實現多環境配置

spring profile多環境配置管理

本地、測試、開發、產品等不同環境文件配置

現象

如果在開發時進行一些數據庫測試,希望鏈接到一個測試的數據庫,以避免對開發數據庫的影響。

開發時的某些配置比如log4j日志的級別,和生產環境又有所區別。

各種此類的需求,讓我希望有一個簡單的切換開發環境的好辦法。

解決

現在spring3.1也給我們帶來了profile,可以方便快速的切換環境。

使用也是非常方便。只要在applicationContext.xml中添加下邊的內容,就可以了

<!-- 開發環境配置文件 -->
    <beans profile="test">
        <context:property-placeholder location="/WEB-INF/test-orm.properties" />
    </beans>
    <!-- 本地環境配置文件 -->
    <beans profile="local">
        <context:property-placeholder location="/WEB-INF/local-orm.properties" />
    </beans>
??profile的定義一定要在文檔的最下邊,否則會有異常。整個xml的結構大概是這樣
<beans xmlns="..." ...>  
  <bean id="dataSource" ... />  
  <bean ... />  
  <beans profile="...">  
    <bean ...>  
  </beans>  
</beans>

激活 profile

spring 為我們提供了大量的激活 profile 的方法,可以通過代碼來激活,也可以通過系統環境變量、JVM參數、servlet上下文參數來定義 spring.profiles.active 參數激活 profile,這里我們通過定義 JVM 參數實現。

1、ENV方式:

ConfigurableEnvironment.setActiveProfiles("test")

2、JVM參數方式:

tomcat中catalina.bat(.sh中不用“set”) 添加JAVA_OPS。通過設置active選擇不同配置文件

set JAVA_OPTS="-Dspring.profiles.active=test"
??eclipse 中啟動tomcat。項目右鍵 run as –> run configuration–>Arguments–> VM arguments中添加。local配置文件不必上傳git追蹤管理
-Dspring.profiles.active="local"

3、web.xml方式:

<init-param>
  <param-name>spring.profiles.active</param-name>
  <param-value>production</param-value>
</init-param>

4、標注方式(junit單元測試非常實用):

@ActiveProfiles({"unittest","productprofile"})

到此,關于“springcloud中怎么使用profile實現多環境配置”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴仁县| 江西省| 威海市| 轮台县| 凉山| 木里| 当雄县| 额尔古纳市| 星座| 古田县| 保山市| 蓬莱市| 玉田县| 永丰县| 古丈县| 贵定县| 库尔勒市| 饶河县| 扬中市| 罗山县| 达孜县| 巴南区| 宜兰县| 新绛县| 尉犁县| 旬邑县| 金阳县| 蓝山县| 康保县| 凤山市| 通许县| 炎陵县| 邢台县| 麻江县| 盘锦市| 石河子市| 冕宁县| 芜湖县| 筠连县| 如东县| 云阳县|