SpringBoot应用和多环境配置介绍

6/2/2023 SpringBoot

SpringBoot应用和多环境配置介绍

# SpringBoot应用配置介绍

在Spring Boot中,有两个主要的配置文件applicationbootstrap,配置分别有propertiesyaml 两种写法。

application.properties或者application.yaml是Spring Boot应用程序的主要配置文件。它用于配置应用程序的各种属性,如服务器端口、数据库连接、日志级别等。SpringBoot 2.7.12 支持的配置,详见 SpringBoot官方支持配置 (opens new window)

bootstrap.properties或者bootstrap.yml配置文件,是一个可选的配置文件,用于在Spring Boot应用程序启动之前加载配置。这个文件通常用于配置一些特殊的属性,例如配置分布式系统中的服务发现和配置中心。

# SpringBoot多环境配置介绍

在Spring Boot中,可以使用多环境配置来管理不同环境下的应用程序配置。这样可以轻松地在开发、测试和生产环境中切换配置,而无需修改代码。多环境配置,常见的命名约定是使用application-{profile}.yml(或application-{profile}.properties),其中{profile}表示环境名称,例如application-dev.ymlapplication-test.ymlapplication-prod.ymlbootstrap配置文件也可以按照上面这种模式命令。

# 创建多环境配置

在Spring Boot项目的src/main/resources目录下,创建不同的配置文件,每个文件对应一个环境,可以在文件中分别配置不同的配置来适应不同的环境。

注意:默认配置和多环境配置的关系,默认配置文件application中的属性将在没有指定特定环境配置时起作用。它包含了应用程序的通用配置项,例如服务器端口、数据库连接、日志级别等。多环境配置文件,在激活时,多环境配置文件中的属性,将覆盖默认配置文件中相应属性的值。

# 激活指定环境配合

  1. 默认配置文件激活,在默认配置文件``application中,使用spring.profiles.active`属性,激活使用对应环境配置文件。
# 指定激活 dev 环境配置
spring.profiles.active=dev
1
2
  1. 虚拟机参数激活,在项目运行时,通过设置VM options,激活使用对应环境配置文件。
# 指定激活 dev 环境配置
-Dspring.profiles.active=dev
1
2

IDEA的VM options配置环境激活

  1. 命令行激活,在使用java -jarjar包方式启动项目时,配置命令行参数,激活使用对应环境配置文件。
# 指定激活 dev 环境配置
java -jar multiple-configurations-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
1
2

注意:当使用虚拟机参数激活或者命令行激活配置,此时如果还在默认配置文件,激活了其他环境,该环境配置将不会生效,以使用虚拟机参数激活或者命令行激活的配置为准。

# 案例源码

SpringBoot多环境配置项目源码 (opens new window)