SpringBoot 根据运行环境选择不同的配置文件

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,填入 名称 即可。见下图。

image.png

(3) 代码中 使用注解 @Profile 来 区分

使用 @Profile 注解可以指定类或方法在特定的 Profile 环境生效。

END

你可能感兴趣的:(SpringBoot 根据运行环境选择不同的配置文件)