在实际项目研发中,需要针对不同的运行环境,如开发环境、测试环境、生产环境等,每个运行环境的数据库…等配置都不相同,每次发布测试、更新生产都需要手动修改相关系统配置。这种方式特别麻烦,费时费力,而且出错概率大。
Spring Boot为我们提供了更加简单方便的配置方案来解决多环境的配置问题。
<profiles>
<profile>
<id>devid>
<activation>
<activeByDefault>trueactiveByDefault>
activation>
<properties>
<profile.active>devprofile.active>
properties>
profile>
<profile>
<id>prodid>
<properties>
<profile.active>prodprofile.active>
properties>
profile>
<profile>
<id>testid>
<properties>
<profile.active>testprofile.active>
properties>
profile>
profiles>
<build>
<finalName>${project.artifactId}finalName>
<resources>
<resource>
<directory>src/main/resourcesdirectory>
<excludes>
<exclude>application*.ymlexclude>
excludes>
resource>
<resource>
<directory>src/main/resourcesdirectory>
<filtering>truefiltering>
<includes>
<include>application.ymlinclude>
<include>application-${profile.active}.ymlinclude>
includes>
resource>
<resource>
<directory>libdirectory>
<targetPath>BOOT-INF/classes/lib/targetPath>
<includes>
<include>*.jarinclude>
includes>
resource>
resources>
build>
多环境配置文件相关文件为:
application.yml 默认配置文件,需要通过此文件去引用其他配置文件
一般来说开发会涉及到以下三种环境
application-dev.yml 开发环境
application-pro.yml 生产环境
application-test.yml 测试环境
spring:
profiles:
active: @profile.active@
在src/main/resources目录下创建多个不同环境的配置文件,命名为application-{profile}.yaml,例如:
application-dev.yamlapplication-prod.yaml在这些文件中,你可以设置相应环境的配置,如数据库连接、日志级别等。

在IDEA中,点击刷新即可选择编译环境

//打包生产环境
mvn clean install package -P pro -Dmaven.test.skip=true
//打包开发环境
mvn clean install package -P dev -Dmaven.test.skip=true