以前在工作中总是不明白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中的标签保持一致,否则会报错
这样就实现了不同环境配置的切换。