溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Springboot多環(huán)境開(kāi)發(fā)的示例分析

發(fā)布時(shí)間:2022-03-07 15:07:56 來(lái)源:億速云 閱讀:113 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了Springboot多環(huán)境開(kāi)發(fā)的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

概述

Springboot在不同的階段運(yùn)行,所使用的環(huán)境可能不一樣
比如在開(kāi)發(fā)階段、測(cè)試階段、生產(chǎn)階段,應(yīng)用階段
可能這些階段Springboot項(xiàng)目運(yùn)行的環(huán)境都不同,所以可以提前設(shè)置多種環(huán)境,根據(jù)場(chǎng)景的不同進(jìn)行選擇使用

多環(huán)境設(shè)置使用

方法1:
在yml配置文件中提前寫(xiě)好多種配置,然后選擇調(diào)用哪個(gè)

Springboot多環(huán)境開(kāi)發(fā)的示例分析

方法2:
這個(gè)方法也適用于后綴名為prperties的配置文件
每種環(huán)境設(shè)置一個(gè)配置文件,然后再寫(xiě)一個(gè)主配置文件,在主配置文件中設(shè)置調(diào)用哪個(gè)環(huán)境,并且寫(xiě)公共配置
就等于將方法一中的每個(gè)部分單獨(dú)寫(xiě)成一個(gè)文件。
這里需要注意一點(diǎn),這里的環(huán)境命名方式不同了

Springboot多環(huán)境開(kāi)發(fā)的示例分析


這里的命名方式是:application-環(huán)境的名稱(chēng),然后再這些環(huán)境配置的文件里面就不需要在通過(guò)spring.profiles來(lái)設(shè)置名字了,當(dāng)然如果不想按照這種命名方式來(lái)命名,則需要通過(guò)spring.profiles來(lái)設(shè)置名字
主配置文件的名稱(chēng)就起application,在主文件中,通過(guò)

Springboot多環(huán)境開(kāi)發(fā)的示例分析

來(lái)調(diào)用對(duì)應(yīng)的環(huán)境

多環(huán)境分組管理

項(xiàng)目開(kāi)發(fā)的時(shí)候,對(duì)于不同的模塊設(shè)置不同的配置文件,比如持久層,可以設(shè)置一個(gè)名為application-devDB的配置文件,MVC層設(shè)置一個(gè)名為application-devMVC的配置文件

Springboot多環(huán)境開(kāi)發(fā)的示例分析

然后在主配置中對(duì)其他的環(huán)境進(jìn)行調(diào)用管理,include可以在激活指定環(huán)境的情況下,同時(shí)對(duì)多個(gè)環(huán)境進(jìn)行加載使其生效,多個(gè)環(huán)境間使用逗號(hào)分隔

而且,如果多個(gè)環(huán)境中有相同的配置,則后加載的環(huán)境會(huì)覆蓋前面的,加載的順序:先按照include中的環(huán)境一個(gè)一個(gè)的加載、最后加載active中的環(huán)境

但是對(duì)于同時(shí)對(duì)多個(gè)環(huán)境進(jìn)行加載使其生效這個(gè)功能,include這個(gè)方法現(xiàn)在已經(jīng)不是主流,我們更多的是使用group

Springboot多環(huán)境開(kāi)發(fā)的示例分析

對(duì)不同名字的配置文件進(jìn)行分組,比如application-dev首字母大寫(xiě)的字符串可以劃分為dev組的,如上圖
然后用active來(lái)決定調(diào)用哪一組的配置文件

Maven和spring-boot的配置沖突

spring-boot基于maven坐標(biāo)的控制工作的
所以為了防止maven與spring-boot互相的配置沖突,我們應(yīng)該在maven中配置,然后讓sping-boot去讀取
當(dāng)Maven與SpringBoot 同時(shí)對(duì)多環(huán)境進(jìn)行控制時(shí),以Mavn為主,SpringBoot使用@. . @占位符讀取Maven對(duì)應(yīng)的配置屬性值
首先,有這么幾個(gè)配置文件

Springboot多環(huán)境開(kāi)發(fā)的示例分析

第一步:在maven的pom文件中配置對(duì)應(yīng)的多環(huán)境開(kāi)發(fā):

Springboot多環(huán)境開(kāi)發(fā)的示例分析

第二步:在springboot中引用

Springboot多環(huán)境開(kāi)發(fā)的示例分析

idea的一個(gè)小BUG
基于SpringBoot讀取Maven配置屬性的前提下,如果在Idea下測(cè)試,工程時(shí)pom.xml每次更新需要手動(dòng)compile方可生效

Springboot多環(huán)境開(kāi)發(fā)的示例分析

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Springboot多環(huán)境開(kāi)發(fā)的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI