在開發(fā) SpringBoot 項目時,通常一道程序會被應(yīng)用或安裝在不同的環(huán)境。不過不配置多模塊多環(huán)境,那么在為不同的環(huán)境打包時,就需要頻繁修改配置文件,從而容易產(chǎn)生錯誤。本篇文章將詳細為大家介紹在 SpringBoot 項目中是如何配置多模塊多環(huán)境的。
第一種情況:
spring.profiles.active=環(huán)境變量
配置兩個環(huán)境的,可根據(jù)實際需要增加環(huán)境模式(開發(fā)環(huán)境dev,測試環(huán)境test,回歸壞境retu,預(yù)生產(chǎn)環(huán)境pre,生產(chǎn)環(huán)境prod,等等)
dev代表開發(fā)環(huán)境:
prod代表生產(chǎn)環(huán)境
pom.xml里面配置profiles:
<profiles>
<profile>
<id>dev</id>
<activation>
<!-- 默認激活-->
<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>
系統(tǒng)環(huán)境變量配置:
在本地,如果在這些文件里面配置端口和路徑:
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那個配置。
在本地,如果分環(huán)境沒有配置,就以主環(huán)境為主:
appilacton.yml:
server: port: 8087 servlet: context-path: /miservice
application-prod.yml:
server: port: 8089 servlet: context-path: /miservice-prod
則是8087這個是有效的。
小結(jié)1:
application.yml引入配置為:
spring: profiles: active: ${env}
即:配置讀取順序為:application.yml>>application-dev.yml
第二種情況:
如果想多個模塊的配置文件都起作用,可將application.yml文件配置到具體的模塊去:
spring: profiles: active: miservice, ${env}
在application.yml和application-miservice.yml和application-dev.yml三個文件中:如果都有端口或路徑配置,則讀取application-dev.yml里面的配置,關(guān)閉application-dev.yml里面的配置則讀取application-miservice.yml里面的配置,最后讀取application.yml
里面的配置。
application.yml引入配置為:
spring: profiles: active: miservice, ${env}
即:配置讀取順序為:application-dev.yml>>application-miservice.yml>>application.yml
修訂一下:上面的結(jié)論是剛開始總結(jié)的,后面發(fā)現(xiàn)讀取順序是按文件的順序從下到上讀取的。即按結(jié)構(gòu)順序
到此這篇關(guān)于在SpringBoot項目中如何配置多模塊多環(huán)境的文章就介紹到這了,想要了解更多相關(guān)springboot多模塊多環(huán)境內(nèi)容,請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持!