前言
軟件開發(fā)中經(jīng)常有開發(fā)環(huán)境拦英、測試環(huán)境、預發(fā)布環(huán)境院峡、生產(chǎn)環(huán)境兴使,而且一般這些環(huán)境配置會各不相同,手動改配置麻煩且容易出錯照激,如何管理不同環(huán)境的配置參數(shù)呢发魄?spring-boot + maven可以解決不同環(huán)境獨立配置不同參數(shù)的問題。
單配置文件
如果項目中只有application.properties或application.yml這一個配置文件俩垃,那么只需要復制這個配置文件然后重命名就可以了励幼。
一、配置文件命名
不同環(huán)境的配置yml或properties文件名不一樣口柳,在加上一個控制使用環(huán)境的配置文件:
application.properties (控制使用環(huán)境的配置文件)
application-dev.properties (開發(fā)環(huán)境)
application-test.properties(測試環(huán)境)
application-prod.properties(生產(chǎn)環(huán)境)
二苹粟、配置文件設置不同內(nèi)容
以端口號為例,不同環(huán)境設置不同的端口號
application-dev.properties 的端口號設置8010
application-test.properties 的端口號設置8020
application-prod.properties 的端口號設置8090
三跃闹、設置默認啟動環(huán)境
多配置文件
如果有多個配置文件呢嵌削,上面這種方式就明顯不合適了。
配置文件設置
重新創(chuàng)建個目錄里面望艺,里面再創(chuàng)建多個環(huán)境的目錄苛秕,然后把配置文件放各個環(huán)境的目錄下
加載配置文件
<profiles>
<profile>
<!--開發(fā)環(huán)境-->
<id>dev</id>
<!--默認選中此環(huán)境-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profileActive>dev</profileActive>
</properties>
<build>
<!--配置文件所在目錄-->
<resources>
<resource>
<directory>src/main/profiles/dev</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</profile>
<profile>
<!--測試環(huán)境-->
<id>test</id>
<properties>
<profileActive>test</profileActive>
</properties>
<build>
<!--配置文件所在目錄-->
<resources>
<resource>
<directory>src/main/profiles/test</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</profile>
<profile>
<!--正式環(huán)境-->
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
<build>
<!--配置文件所在目錄-->
<resources>
<resource>
<directory>src/main/profiles/prod</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</profile>
</profiles>
然后reload一下maven會看到這里多了一個Profiles文件,里面有環(huán)境選項荣茫,選中那個就會運行那個環(huán)境想帅,打包也一樣,非常方便