欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springcloud使用profile實(shí)現(xiàn)多環(huán)境配置方式

 更新時(shí)間:2022年03月01日 15:10:02   作者:runner668  
這篇文章主要介紹了springcloud使用profile實(shí)現(xiàn)多環(huán)境配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用profile實(shí)現(xiàn)多環(huán)境配置

基本介紹

在開發(fā)過程中,我們的項(xiàng)目會(huì)存在不同的運(yùn)行環(huán)境,比如開發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境,而我們的項(xiàng)目在不同的環(huán)境中,有的配置可能會(huì)不一樣,比如數(shù)據(jù)源配置、日志文件配置、以及一些軟件運(yùn)行過程中的基本配置,那每次我們將軟件部署到不同的環(huán)境時(shí),都需要修改相應(yīng)的配置文件,這樣來回修改,很容易出錯(cuò),而且浪費(fèi)勞動(dòng)力。

springcloud默認(rèn)會(huì)訪問的配置文件名是application.properties,

我們?nèi)绻獎(jiǎng)?chuàng)建多環(huán)境的配置文件的話,文件名格式應(yīng)為:application-{profile}.properties

其中的{profile}用來標(biāo)識(shí)不同的環(huán)境,如application-native.properties文件可以用來配置本地環(huán)境、application-prod.properties文件可以用來配置生產(chǎn)環(huán)境。

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

由于springcloud配置中心和springboot的多環(huán)境配置并沒有打通,

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

并不能從配置中心獲取不同的環(huán)境配置,想要實(shí)現(xiàn)目標(biāo)還需要多做一些工作。 

項(xiàng)目配置

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

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

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

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

spring profile多環(huán)境配置管理

本地、測(cè)試、開發(fā)、產(chǎn)品等不同環(huán)境文件配置

現(xiàn)象

如果在開發(fā)時(shí)進(jìn)行一些數(shù)據(jù)庫測(cè)試,希望鏈接到一個(gè)測(cè)試的數(shù)據(jù)庫,以避免對(duì)開發(fā)數(shù)據(jù)庫的影響。

開發(fā)時(shí)的某些配置比如log4j日志的級(jí)別,和生產(chǎn)環(huán)境又有所區(qū)別。

各種此類的需求,讓我希望有一個(gè)簡(jiǎn)單的切換開發(fā)環(huán)境的好辦法。

解決

現(xiàn)在spring3.1也給我們帶來了profile,可以方便快速的切換環(huán)境。

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

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

激活 profile

spring 為我們提供了大量的激活 profile 的方法,可以通過代碼來激活,也可以通過系統(tǒng)環(huán)境變量、JVM參數(shù)、servlet上下文參數(shù)來定義 spring.profiles.active 參數(shù)激活 profile,這里我們通過定義 JVM 參數(shù)實(shí)現(xiàn)。

1、ENV方式:

ConfigurableEnvironment.setActiveProfiles("test")

2、JVM參數(shù)方式:

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

set JAVA_OPTS="-Dspring.profiles.active=test"
??eclipse 中啟動(dòng)tomcat。項(xiàng)目右鍵 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、標(biāo)注方式(junit單元測(cè)試非常實(shí)用):

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java如何將處理完異常之后的程序能夠從拋出異常的地點(diǎn)向下執(zhí)行?

    Java如何將處理完異常之后的程序能夠從拋出異常的地點(diǎn)向下執(zhí)行?

    今天小編就為大家分享一篇關(guān)于Java如何將處理完異常之后的程序能夠從拋出異常的地點(diǎn)向下執(zhí)行?,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 在java中由類名和方法名字符串實(shí)現(xiàn)其調(diào)用方式

    在java中由類名和方法名字符串實(shí)現(xiàn)其調(diào)用方式

    這篇文章主要介紹了在java中由類名和方法名字符串實(shí)現(xiàn)其調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 在idea環(huán)境下構(gòu)建springCloud項(xiàng)目

    在idea環(huán)境下構(gòu)建springCloud項(xiàng)目

    本篇文章主要介紹了在idea環(huán)境下構(gòu)建springCloud項(xiàng)目,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • 輕松掌握J(rèn)ava工廠模式、抽象工廠模式

    輕松掌握J(rèn)ava工廠模式、抽象工廠模式

    這篇文章主要幫助大家輕松掌握J(rèn)ava工廠模式、抽象工廠模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java上轉(zhuǎn)型和下轉(zhuǎn)型對(duì)象

    Java上轉(zhuǎn)型和下轉(zhuǎn)型對(duì)象

    這篇文章給大家講述了Java上轉(zhuǎn)型和下轉(zhuǎn)型對(duì)象的詳細(xì)用法以及相關(guān)的代碼分享,有興趣的朋友可以學(xué)習(xí)下。
    2018-03-03
  • 解決mybatis where-if中if不能識(shí)別大寫AND,OR的問題

    解決mybatis where-if中if不能識(shí)別大寫AND,OR的問題

    這篇文章主要介紹了解決mybatis where-if中if不能識(shí)別大寫AND,OR的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • java中的類URL與URLConnection使用介紹

    java中的類URL與URLConnection使用介紹

    這篇文章主要為大家介紹了java中的類URL與URLConnection使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • ibatis遷移到mybatis3的注意事項(xiàng)

    ibatis遷移到mybatis3的注意事項(xiàng)

    這篇文章主要介紹了ibatis遷移到mybatis3的注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • 最新評(píng)論