最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot加載多個配置文件實現(xiàn)dev、product多環(huán)境切換的方法

 更新時間:2023年03月28日 09:11:06   作者:lans_g  
這篇文章主要介紹了SpringBoot加載多個配置文件實現(xiàn)dev、product多環(huán)境切換,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言

在公司真正的開發(fā)和生產(chǎn)中,同一套程序會被部署到幾個不同的環(huán)境,比如:開發(fā)、測試、生產(chǎn)等。其中每個環(huán)境的數(shù)據(jù)庫地址、服務(wù)器端口等等配置都會不同,這樣通過多個配置文件就做到了隔離,多個環(huán)境之間不會相互影響。但是這么多配置文件,項目啟動時SpringBoot如何確定加載哪一個呢?

1.SpringBoot中實現(xiàn)多環(huán)境切換

在SpringBoot中,除了application.properties,我們新建的其他配置文件的文件名需要滿足application-{profile}.properties的格式,其中{profile}對應(yīng)你的環(huán)境標(biāo)識(不一定是.properties文件,也可以是.yml)其對應(yīng)的{profile}值是開發(fā)者自定義的(如dev,product),在項目啟動的時候,只需要添加對應(yīng)的參數(shù),springboot就會去讀取該配置文件了。具體profile的配置在application.properties文件中通過spring.profiles.active屬性來設(shè)置。接下來我們以一個例子來說明

(1)首先這里創(chuàng)建了dev、product、qa、stage和默認(rèn)的application五個配置文件

請?zhí)砑訄D片描述

(2)加載配置文件時會先加載application.properties配置文件(這里一般存放一些公共配置),在該文件中配置要加載的環(huán)境的配置文件,這里有兩種配置方法。

例如要加載dev環(huán)境,可以在application.properties中這樣配置

spring.profiles.active=dev

或者使用@spring.profiles.active@,如下所示

spring.profiles.active=@spring.profiles.active@

如果使用這種方式則需要在pom.xml中添加以下內(nèi)容,其中activeByDefault標(biāo)簽來指定項目啟動時默認(rèn)加載的配置文件。

<profiles>
  <profile>
    <id>dev</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <spring.profiles.active>dev</spring.profiles.active>
    </properties>
  </profile>
  <profile>
    <id>qa</id>
    <properties>
      <spring.profiles.active>qa</spring.profiles.active>
    </properties>
  </profile>
  <profile>
    <id>stage</id>
    <properties>
      <spring.profiles.active>stage</spring.profiles.active>
    </properties>
  </profile>
  <profile>
    <id>product</id>
    <properties>
      <spring.profiles.active>product</spring.profiles.active>
    </properties>
  </profile>
</profiles>

當(dāng)執(zhí)行mvn clean package -P dev 命令對項目進行打包發(fā)布時,打出來的jar/war包中的配置文件中@spring.profiles.active@ 會被替換成 dev。

注意@spring.profiles.active@ 要與pom中的標(biāo)簽 <spring.profiles.active>> 保持一致,否則會報錯。

請?zhí)砑訄D片描述

2.SpringBoot中配置文件加載順序

配置文件的優(yōu)先級排序(以哪個配置文件為準(zhǔn)):

1、項目根目錄下的config目錄?!緝?yōu)先級最高】
2、項目根目錄。
3、classpath下的config目錄。
4、classpath目錄(新建項目時application.properties默認(rèn)所在位置)。【優(yōu)先級最低】

配置文件加載順序和優(yōu)先級順序相反,優(yōu)先級低的先加載,因為如果有重復(fù)的配置,先加載的配置文件會被覆蓋。

同一級目錄下,如果是application.yml,application.properties配置文件同時存在,會以application.properties配置文件為準(zhǔn),也就是說先加載.yml文件后加載.properties文件。

請?zhí)砑訄D片描述

優(yōu)先級順序:1->2->3->4->5。

文件加載順序:5->4->3->2->1。

到此這篇關(guān)于SpringBoot加載多個配置文件實現(xiàn)dev、product多環(huán)境切換的文章就介紹到這了,更多相關(guān)SpringBoot加載多個配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringCloud微服務(wù)網(wǎng)關(guān)限流方式

    SpringCloud微服務(wù)網(wǎng)關(guān)限流方式

    這篇文章主要介紹了SpringCloud微服務(wù)網(wǎng)關(guān)限流方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • SpringBoot替換默認(rèn)的tomcat服務(wù)器的方法

    SpringBoot替換默認(rèn)的tomcat服務(wù)器的方法

    Tomcat是Apache基金下的一個輕量級的Servlet容器,支持Servlet和JSP,Tomcat具有Web服務(wù)器特有的功能,在SpringBoot框架中,我們使用最多的是Tomcat,這是SpringBoot默認(rèn)的容器技術(shù),本文給大家介紹了Spring?Boot如何替換默認(rèn)的tomcat服務(wù)器,需要的朋友可以參考下
    2024-08-08
  • Mybatis Criteria使用and和or進行聯(lián)合條件查詢的操作方法

    Mybatis Criteria使用and和or進行聯(lián)合條件查詢的操作方法

    這篇文章主要介紹了Mybatis Criteria的and和or進行聯(lián)合條件查詢的方法,本文通過例子給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • 在SpringBoot中配置日期格式化的方法詳解

    在SpringBoot中配置日期格式化的方法詳解

    通常情況下,發(fā)起一個 Http 請求,Spring Boot 會根據(jù)請求路徑映射到指定 Controller 上的某個方法的參數(shù)上,接著,Spring 會自動進行類型轉(zhuǎn)換,對于日期類型的參數(shù),Spring 默認(rèn)是沒有配置如何將字符串轉(zhuǎn)換成日期類型的,本文將給大家介紹在SpringBoot中配置日期格式化的方法
    2023-10-10
  • java開放地址法和鏈地址法解決hash沖突的方法示例

    java開放地址法和鏈地址法解決hash沖突的方法示例

    這篇文章主要介紹了java開放地址法和鏈地址法解決hash沖突的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 這一次搞懂Spring代理創(chuàng)建及AOP鏈?zhǔn)秸{(diào)用過程操作

    這一次搞懂Spring代理創(chuàng)建及AOP鏈?zhǔn)秸{(diào)用過程操作

    這篇文章主要介紹了這一次搞懂Spring代理創(chuàng)建及AOP鏈?zhǔn)秸{(diào)用過程操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java設(shè)計模式之java訪問者模式詳解

    Java設(shè)計模式之java訪問者模式詳解

    這篇文章主要介紹了JAVA設(shè)計模式之訪問者模式,簡單說明了訪問者模式的原理,并結(jié)合實例分析了java訪問者模式的定義與用法,需要的朋友可以參考下
    2021-09-09
  • SpringBoot結(jié)合Redis實現(xiàn)緩存管理功能

    SpringBoot結(jié)合Redis實現(xiàn)緩存管理功能

    本篇文章主要介紹spring boot緩存管理機制及相關(guān)概念,以及如何結(jié)合Redis實現(xiàn)緩存管理,文中通過代碼示例給大家介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2024-01-01
  • Java?swing實現(xiàn)應(yīng)用程序?qū)?shù)據(jù)庫的訪問問題

    Java?swing實現(xiàn)應(yīng)用程序?qū)?shù)據(jù)庫的訪問問題

    這篇文章主要介紹了Java?swing實現(xiàn)應(yīng)用程序?qū)?shù)據(jù)庫的訪問,本次實驗需要做一個GUI界面和一個連接查詢功能,在論壇上借鑒了其他大佬獲取網(wǎng)站內(nèi)容的部分代碼,然后自己做了一個及其簡陋的swing界面,算是把這個實驗完成了,需要的朋友可以參考下
    2022-09-09
  • Java實現(xiàn)簡單的遞歸操作方法實例

    Java實現(xiàn)簡單的遞歸操作方法實例

    這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)簡單的遞歸操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評論

永靖县| 东至县| 喀喇沁旗| 北票市| 出国| 霍山县| 博野县| 潼南县| 河源市| 庆安县| 保定市| 临高县| 奎屯市| 石阡县| 大洼县| 涪陵区| 霍林郭勒市| 于都县| 印江| 乌鲁木齐县| 南昌市| 鄱阳县| 张家界市| 同心县| 栾川县| 长沙市| 察雅县| 景泰县| 孝义市| 兰坪| 北碚区| 西峡县| 南宁市| 托克逊县| 拉孜县| 百色市| 当雄县| 宁化县| 乌鲁木齐县| 将乐县| 高青县|