背景:我们通常在开发项目的时候需要多个环境,例如 本地开发环境、测试环境、准生产环境、生产环境、其实这些环境我们只需要更改对应环境的地址就可以,所以我们的项目中就需要多个环境的配置文件了,例如下面这样,我们在使用的时候,只需要告诉配置加载那个环境的配置文件就可以,这样我们就可以动态加载配置环境配置了。
下面开始撸代码
1、首先在pom.xml中加入如下配置
<!--环境配置文件 -->
<profiles>
<!--开发环境 -->
<profile>
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<!-- 不带参数默认打包dev-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--测试环境 -->
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<!--生产环境 -->
<profile>
<id>pro</id>
<properties>
<profiles.active>pro</profiles.active>
</properties>
</profile>
</profiles>
2、添加打包加载配置逻辑,继续pom.xml
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/application-*.yml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<!--suppress UnresolvedMavenProperty -->
<include>**/application-${profiles.active}.yml</include>
</includes>
</resource>
</resources>
</build>
3、修改你的application.yml 配置文件,改为动态加载,主要使用的是@符号
spring:
profiles:
active: @profiles.active@
4、在IDE中动态切换
5、启动方式改为maven启动
命令:mvn spring-boot:run -P dev
或者
6、项目构建或打包
注意添加打包时需要加载的环境配置文件
mvn package -P pro