Springboot多環境開發及使用方法

概述

Springboot在不同的階段運行,所使用的環境可能不一樣
比如在開發階段、測試階段、生產階段,應用階段
可能這些階段Springboot項目運行的環境都不同,所以可以提前設置多種環境,根據場景的不同進行選擇使用

多環境設置使用

方法1:
在yml配置文件中提前寫好多種配置,然後選擇調用哪個

方法2:
這個方法也適用於後綴名為prperties的配置文件
每種環境設置一個配置文件,然後再寫一個主配置文件,在主配置文件中設置調用哪個環境,並且寫公共配置
就等於將方法一中的每個部分單獨寫成一個文件。
這裡需要註意一點,這裡的環境命名方式不同瞭

這裡的命名方式是:application-環境的名稱,然後再這些環境配置的文件裡面就不需要在通過spring.profiles來設置名字瞭,當然如果不想按照這種命名方式來命名,則需要通過spring.profiles來設置名字
主配置文件的名稱就起application,在主文件中,通過

來調用對應的環境

多環境分組管理

項目開發的時候,對於不同的模塊設置不同的配置文件,比如持久層,可以設置一個名為application-devDB的配置文件,MVC層設置一個名為application-devMVC的配置文件

然後在主配置中對其他的環境進行調用管理,include可以在激活指定環境的情況下,同時對多個環境進行加載使其生效,多個環境間使用逗號分隔

而且,如果多個環境中有相同的配置,則後加載的環境會覆蓋前面的,加載的順序:先按照include中的環境一個一個的加載、最後加載active中的環境

但是對於同時對多個環境進行加載使其生效這個功能,include這個方法現在已經不是主流,我們更多的是使用group

對不同名字的配置文件進行分組,比如application-dev首字母大寫的字符串可以劃分為dev組的,如上圖
然後用active來決定調用哪一組的配置文件

Maven和spring-boot的配置沖突

spring-boot基於maven坐標的控制工作的
所以為瞭防止maven與spring-boot互相的配置沖突,我們應該在maven中配置,然後讓sping-boot去讀取
當Maven與SpringBoot 同時對多環境進行控制時,以Mavn為主,SpringBoot使用@. . @占位符讀取Maven對應的配置屬性值
首先,有這麼幾個配置文件

第一步:在maven的pom文件中配置對應的多環境開發:

第二步:在springboot中引用

idea的一個小BUG
基於SpringBoot讀取Maven配置屬性的前提下,如果在Idea下測試,工程時pom.xml每次更新需要手動compile方可生效

到此這篇關於Springboot多環境開發的文章就介紹到這瞭,更多相關Springboot多環境開發內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: