SpringBoot 文件优先级与多环境

SpringBoot 文件优先级与多环境

一、配置文件优先级

默认读取的配置文件必须以application开头,例如:application.yamlapplication.properties

  • 优先级1:项目根路径下的 config 文件夹配置文件
  • 优先级2:项目根路径下配置文件
  • 优先级3:资源路径resources下的config文件夹配置文件
  • 优先级4:资源路径 resources 下配置文件

我们还可以从外部加载配置文件

java -jar spring-boot-config.jar --spring.config.location=F:/application.properties

二、多环境配置

springboot允许我们配置多个配置文件,通过在主配置文件激活不同的环境版本,实现快速切换环境

0x01 方式一

我们在配置多个环境的配置文件时,文件名可以是 application-.properties/yml

{prifile} 表示可以自定义的名称,配置文件格式可以为 properties 和yml两种

例如:

我们用 application-test.properties 代表测试环境配置,application-dev.properties 代表开发环境

但是默认情况下,springboot不会启用这些配置文件,我们需要在主配置文件 application-test.properties/yml 下选择要激活的环境

.properties

spring.profiles.active=dev

.yml

spring: 
 profiles: 
  active: dev

0x02 yml的多文档块

使用yml去实现不需要创建多个配置文件,可以在同一配置文件下实现多环境的配置

server:
  port: 8081
#选择要激活那个环境块
spring:
  profiles:
    active: prod

---
server:
  port: 8083
#配置环境的名称
spring:
  profiles: dev
---
server:
  port: 8084
spring:
  profiles: prod  #配置环境的名称

**注意:如果yml和properties同时都配置了端口,并且没有激活其他环境 , 默认会使用properties的配置

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://codeyee.com/archives/springboot-config.html