App下載

如何配置SpringBoot多模塊多環(huán)境配置文件 詳細(xì)過(guò)程解析

猿友 2021-08-05 14:19:09 瀏覽數(shù) (5733)
反饋

在開(kāi)發(fā) SpringBoot 項(xiàng)目時(shí),通常一道程序會(huì)被應(yīng)用或安裝在不同的環(huán)境。不過(guò)不配置多模塊多環(huán)境,那么在為不同的環(huán)境打包時(shí),就需要頻繁修改配置文件,從而容易產(chǎn)生錯(cuò)誤。本篇文章將詳細(xì)為大家介紹在 SpringBoot 項(xiàng)目中是如何配置多模塊多環(huán)境的。

第一種情況:

spring.profiles.active=環(huán)境變量

2021041410424253

配置兩個(gè)環(huán)境的,可根據(jù)實(shí)際需要增加環(huán)境模式(開(kāi)發(fā)環(huán)境dev,測(cè)試環(huán)境test,回歸壞境retu,預(yù)生產(chǎn)環(huán)境pre,生產(chǎn)環(huán)境prod,等等)

dev代表開(kāi)發(fā)環(huán)境:

2021041410424254

prod代表生產(chǎn)環(huán)境

2021041410424255

pom.xml里面配置profiles:

<profiles>
    <profile>
        <id>dev</id>
        <activation>
         <!--  默認(rèn)激活-->
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <spring.profiles.active>dev</spring.profiles.active>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <spring.profiles.active>prod</spring.profiles.active>
        </properties>
    </profile>
</profiles>

2021041410424256

系統(tǒng)環(huán)境變量配置:

2021041410424257

在本地,如果在這些文件里面配置端口和路徑:

appilacton.yml:

server:
  port: 8087
  servlet:
    context-path:  /miservice

application-dev.yml:

server:
  port: 8088
  servlet:
    context-path:  /miservice-dev

application-prod.yml:

server:
  port: 8087
  servlet:
    context-path:  /miservice

有效的是:8088那個(gè)配置。

在本地,如果分環(huán)境沒(méi)有配置,就以主環(huán)境為主:

appilacton.yml:

server:
  port: 8087
  servlet:
    context-path:  /miservice

application-prod.yml:

server:
  port: 8089
  servlet:
    context-path:  /miservice-prod

則是8087這個(gè)是有效的。

小結(jié)1:

application.yml引入配置為:

spring:
        profiles:
           active:   ${env}

即:配置讀取順序?yàn)椋篴pplication.yml>>application-dev.yml

 第二種情況:

如果想多個(gè)模塊的配置文件都起作用,可將application.yml文件配置到具體的模塊去:

spring:
        profiles:
           active:   miservice, ${env}

2021041410424258

2021041410424259

在application.yml和application-miservice.yml和application-dev.yml三個(gè)文件中:如果都有端口或路徑配置,則讀取application-dev.yml里面的配置,關(guān)閉application-dev.yml里面的配置則讀取application-miservice.yml里面的配置,最后讀取application.yml

里面的配置。

application.yml引入配置為:

spring:
        profiles:
           active:   miservice, ${env}

即:配置讀取順序?yàn)椋篴pplication-dev.yml>>application-miservice.yml>>application.yml

修訂一下:上面的結(jié)論是剛開(kāi)始總結(jié)的,后面發(fā)現(xiàn)讀取順序是按文件的順序從下到上讀取的。即按結(jié)構(gòu)順序

到此這篇關(guān)于在SpringBoot項(xiàng)目中如何配置多模塊多環(huán)境的文章就介紹到這了,想要了解更多相關(guān)springboot多模塊多環(huán)境內(nèi)容,請(qǐng)搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持!


0 人點(diǎn)贊