前言
軟件開(kāi)發(fā)中經(jīng)常有開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、預(yù)發(fā)布環(huán)境、生產(chǎn)環(huán)境,而且一般這些環(huán)境配置會(huì)各不相同,手動(dòng)改配置麻煩且容易出錯(cuò),如何管理不同環(huán)境的配置參數(shù)呢?spring-boot + maven可以解決不同環(huán)境獨(dú)立配置不同參數(shù)的問(wèn)題。
單配置文件
如果項(xiàng)目中只有application.properties或application.yml這一個(gè)配置文件,那么只需要復(fù)制這個(gè)配置文件然后重命名就可以了。
一、配置文件命名
不同環(huán)境的配置yml或properties文件名不一樣,在加上一個(gè)控制使用環(huán)境的配置文件:
application.properties (控制使用環(huán)境的配置文件)
application-dev.properties (開(kāi)發(fā)環(huán)境)
application-test.properties(測(cè)試環(huán)境)
application-prod.properties(生產(chǎn)環(huán)境)

二、配置文件設(shè)置不同內(nèi)容
以端口號(hào)為例,不同環(huán)境設(shè)置不同的端口號(hào)
application-dev.properties 的端口號(hào)設(shè)置8010
application-test.properties 的端口號(hào)設(shè)置8020
application-prod.properties 的端口號(hào)設(shè)置8090
三、設(shè)置默認(rèn)啟動(dòng)環(huán)境

多配置文件
如果有多個(gè)配置文件呢,上面這種方式就明顯不合適了。
配置文件設(shè)置
重新創(chuàng)建個(gè)目錄里面,里面再創(chuàng)建多個(gè)環(huán)境的目錄,然后把配置文件放各個(gè)環(huán)境的目錄下

加載配置文件
<profiles>
<profile>
<!--開(kāi)發(fā)環(huán)境-->
<id>dev</id>
<!--默認(rèn)選中此環(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>
<!--測(cè)試環(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
會(huì)看到這里多了一個(gè)Profiles文件,里面有環(huán)境選項(xiàng),選中那個(gè)就會(huì)運(yùn)行那個(gè)環(huán)境,打包也一樣,非常方便