Spring Boot 配置多环境
前言
我们日常开发中,一般都会配置多个环境,比如开发环境(dev)、生产环境(prod)、测试环境(test),不然因为众多的配置,众多的参数,什么 Redis、MySQL、注册中心的配置,都在一个环境的配置文件下,就会很头疼,而 Spring Boot 的多环境配置就很好的解决了这一个问题,把
各环境区别
开发环境
顾名思义,开发同学开发时使用的环境,每位开发同学在自己的 dev 分支上干活,提测前或者开发到一定程度,各位同学会合并代码,进行联调。
测试环境
也就是我们测试同学干活的环境,一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。
生产环境
即线上环境,用户使用的环境。
演示环境
- Spring Boot 2.3.0.RELEASE
- IntelliJ IDEA 2020.3.2
正文
首先我们需要创建一个 Spring Boot 工程
方式一
同一个配置文件配置多个环境
打开 application.yml
配置文件,添加如下配置
1 | # 主配置 |
这里我选择了 dev(开发)环境,然后我把开发环境的端口设为 8080,测试环境 8081,接着我们直接启动项目来看下效果
通过控制台日志输出可以看出,运行的环境正是我们开发环境
方式二
创建多个配置文件
首先另外再创建两个配置文件,分别是 application-dev.yml
表示开发环境的配置,application-test.yml
表示测试环境的配置。
application-dev.yml
配置如下
1 | # 开发环境 |
application-test.yml
配置如下
1 | # 测试环境 |
接着修改主配置内容(application.yml
)
1 | # 主配置 |
选择了测试环境,启动项目看效果
可以看到已是测试环境,说明这种方式也可以配置成功!
结语
通过修改 application.yml
文件中的 spring.profiles.active
参数决定加载对应环境的配置!