1.背景
什么是不同的“运行环境配置”?
项目开发中一般会有多套环境,比如:
- 开发环境
- 测试环境
- UAT测试环境
- 生成环境
而不同的环境中,软件系统的配置是不一样的。例如,在测试的时候用测试数据库,而在生产环境用正式的数据。
SpringBoot 的 profile 为我们提供了便利,它支持在不同的环境下配置用不同的配置文件。
2. Profile 的说明
profile 可以让 Spring 对不同的环境提供不同配置的功能,可以通过激活、指定参数等方式快速切换环境。
换句话说,就是我们需要在不同的场景下使用不同的配置,profile的出现就是要解决我们多环境下切换配置复杂的问题。
Spring官方给出的语法规则是:
application-{profile}.properties(或者 yaml/.yml)
3. 应用 Profile 配置
分下面几步:
- 第一步:创建配置文件
- 第二步:激活配置文件
3.1 第一步:创建配置文件
我们按上面的规则创建多个 配置文件。比如,针对开发,测试,正式发布来创建下面的配置文件:
- application-dev.yml
- application-test.yml
- application-release.yml
3.2 第二步:激活配置文件
它支持多种方式
- 以 jar 包方式运行 时
- 在 IDEA 开发IDE 中运行时
- 代码中 使用注解 @Profile 来 区分
下面分别说明
(1) 以 jar 包方式运行 时
在以 jar 包方式运行 时 我们可以指定让程序来加载的配置文件。指定下面参数:
--spring.profiles.active=prod
完整示例:
java -jar -Dspring.profiles.active=prod *.jar
(2) 在 IDEA 开发IDE 中运行时
点击 IDEA 顶部工具栏 中 Edit Configrations... 找到 Activte profiles,填入 名称 即可。见下图。
(3) 代码中 使用注解 @Profile 来 区分
使用 @Profile 注解可以指定类或方法在特定的 Profile 环境生效。
END