SpringBoot配置文件多环境支持及加载优先级
2.8 配置文件多环境支持
多种形式实现多环境支持实现方式:
2.8.1 profile方式
1.多profile文件方式,
在主配置文件编写时,文件名可以是 application-{profile}.properties或者application-{profile}.yml
举例:
这里我们编写了多个配置文件,用于各种环境,
但是当我们在启动SpringBoot应用时,端口号依然是我们的8081端口,
即我们全局配置文件中的端口,这里我们需要用到一行代码把其他环境配置文件加载进来
演示如下:
这里使用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**相应的环境
演示如下:
2.8.3 命令行方式
3.命令行方式
–spring.profiles.active=
演示如下:
2.8.4 虚拟机参数方式
4.虚拟机参数方式演示
-D 固定写法后面跟具体命令
2.8.5 配置文件优先级
前面我们说了这么多种方式来开启多环境支持,那么优先级到底谁高谁低呢?
这里我来配置配置文件中**dev环境,命令行中**prod环境,
我在加一个新的环境cq测试环境,虚拟机参数中**ce环境,让我们来看看谁的优先级最高?
结论:
命令行参数>>虚拟机参数>>配置文件参数