spring boot 使用profile实现多环境的不同配置,按照以下步骤即可实现
以dev和prod环境为例
1. 创建不同环境配置文件application-{profile}.properties,放在application.properties相同目录下
application-dev.properties
config.envName=DEV
application-prod.properties
config.envName=PRD
2. 指定profile
application.properties
spring.profiles.active=prod
通过以上2步即可实现多环境配置,@Value @ConfigurationProperties 均可取到配置的值,不需要再添加其他配置信息,开发启动时切换application.properties中的配置即可
但是如果要打war包,在打包命令中指定环境,还需要以下的配置
pom.xml
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profileActive>dev</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
并且修改application.properties
spring.profiles.active=@profileActive@
这样执行打包命令即可依赖指定的环境
mvn clean package -DskipTests -Pprod