SpringBoot配置文件多环境支持及加载优先级

多种形式实现多环境支持实现方式:

2.8.1 profile方式

1.多profile文件方式,

在主配置文件编写时,文件名可以是 application-{profile}.properties或者application-{profile}.yml

举例:

SpringBoot配置文件多环境支持及加载优先级

这里我们编写了多个配置文件,用于各种环境,

但是当我们在启动SpringBoot应用时,端口号依然是我们的8081端口,

即我们全局配置文件中的端口,这里我们需要用到一行代码把其他环境配置文件加载进来

演示如下:

SpringBoot配置文件多环境支持及加载优先级

这里使用spring.profile.active指定**哪个属性文件

在application.properties配置文件中,我们使用application-{profile}.properties文件来支持多环境,并且在全局配置文件中利用spring.profiles.active={profile}来**使用该环境中的相关配置


2.8.2 YML文档块方式

2.YML文档块方式

在YML中有简单的方式,我们可以使用多文档块的方式进行多环境支持

在YML文件中我们可以使用"—"来分割文档块,这里使用spring.profiles 定义环境

spring.profiles.active**相应的环境

演示如下:

SpringBoot配置文件多环境支持及加载优先级


2.8.3 命令行方式

3.命令行方式

–spring.profiles.active=

演示如下:

SpringBoot配置文件多环境支持及加载优先级


2.8.4 虚拟机参数方式

4.虚拟机参数方式演示

-D 固定写法后面跟具体命令

SpringBoot配置文件多环境支持及加载优先级


2.8.5 配置文件优先级

前面我们说了这么多种方式来开启多环境支持,那么优先级到底谁高谁低呢?

这里我来配置配置文件中**dev环境,命令行中**prod环境,

我在加一个新的环境cq测试环境,虚拟机参数中**ce环境,让我们来看看谁的优先级最高?

SpringBoot配置文件多环境支持及加载优先级

结论:

命令行参数>>虚拟机参数>>配置文件参数