Springboot多環(huán)境開(kāi)發(fā)及使用方法
概述
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è)
方法2:
這個(gè)方法也適用于后綴名為prperties的配置文件
每種環(huán)境設(shè)置一個(gè)配置文件,然后再寫(xiě)一個(gè)主配置文件,在主配置文件中設(shè)置調(diào)用哪個(gè)環(huán)境,并且寫(xiě)公共配置
就等于將方法一中的每個(gè)部分單獨(dú)寫(xiě)成一個(gè)文件。
這里需要注意一點(diǎn),這里的環(huán)境命名方式不同了
這里的命名方式是: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ò)
來(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
的配置文件
然后在主配置中對(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
對(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è)配置文件
第一步:在maven的pom文件中配置對(duì)應(yīng)的多環(huán)境開(kāi)發(fā):
第二步:在springboot中引用
idea的一個(gè)小BUG
基于SpringBoot讀取Maven配置屬性的前提下,如果在Idea下測(cè)試,工程時(shí)pom.xml每次更新需要手動(dòng)compile方可生效
到此這篇關(guān)于Springboot多環(huán)境開(kāi)發(fā)的文章就介紹到這了,更多相關(guān)Springboot多環(huán)境開(kāi)發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何把springboot jar項(xiàng)目 改為war項(xiàng)目
這篇文章主要介紹了如何把springboot jar項(xiàng)目 改為war項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11關(guān)于SpringCloud的Bus消息總線圖文詳解
這篇文章主要介紹了關(guān)于SpringCloud的Bus消息總線圖文詳解,Spring Cloud Bus是用來(lái)將分布式系統(tǒng)的節(jié)點(diǎn)與輕量級(jí)消息系統(tǒng)鏈接起來(lái)的框架,它整合了Java的事件處理機(jī)制和消息中間件的功能,需要的朋友可以參考下2023-05-05springboot + mybatis-plus實(shí)現(xiàn)多表聯(lián)合查詢功能(注解方式)
這篇文章主要介紹了springboot + mybatis-plus實(shí)現(xiàn)多表聯(lián)合查詢功能,是最簡(jiǎn)單的一種注解方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Spring Boot實(shí)現(xiàn)文件上傳示例代碼
本篇文章主要介紹了Spring Boot實(shí)現(xiàn)文件上傳示例代碼,可以實(shí)現(xiàn)單文件和多文件的上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03