在项目开发中,一般会分为开发环境、测试环境和生产环境。如果总是在一个文件中修修改改,难免会出现错误,尤其是在交接的过程中,一旦出现问题,轻则丢失绩效、重则需要删库跑路。
实现
1、可以通过配置项 spring.profiles.active 的值来激活对应的环境(思路:使用一个默认的文件作为通用配置文件,不同的配置项写入不同环境的配置文件中,部署不同环境时,只需要修改spring.profiles.active的值即可。个人习惯在通用配置文件只保留spring.profiles.active一个配置项,灵活性高一点)
2、通过部署命令java -jar xxx.jar --spring.profiles=xxx 来激活指定的配置项
针对不同的环境,一般常用的命名方式如下:
application.properties : 通用配置,不区分环境
application-dev.properties : 开发环境
application-test.properties : 测试环境
application-prod.properties : 生产环境
测试
新增配置文件:application.properties
spring.profiles.active=dev
新增配置文件:application-dev.properties
server.port=9999
# 自定义配置项
zepal=dev
新增配置文件:application-prod.properties
server.port=9998
# 自定义配置项
zepal=prod
创建一个接口
@Controller
public class TestController2 {
@Value("${zepal}")
private String zepal;
@RequestMapping("/profiles-test")
@ResponseBody
public String methodA() {
return zepal;
}
}
1、通过配置项 spring.profiles.active 激活对应配置文件,启动文件后访问localhost:9998/profiles-test 会超时,访问localhost:9999/profiles-test 会成功
2、将项目打包成jar包后,用启动命令java -jar xxx.jar --spring.profiles=dev 会得到同样的结果