以前在工作中总是不明白spring是如何区分不同环境的,今天写了一个简单的小demo,明白了。记录一下,以备自己以后独立开发项目使用。
首先应该在pom.xml中添加以下配置:
<profiles>
<profile>
<!-- 生产环境 -->
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
<profile>
<!-- 本地开发环境 -->
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
</profiles>
其次根据pom中三种不同环境分别创建3个配置文件,分别为
application-dev.properties
application-test.properties
application-prod.properties
最后在application.properties中,读取
spring.profiles.active=@profiles.active@
注:@profiles.active@ 要与pom中的标签保持一致,否则会报错
这样就实现了不同环境配置的切换。