【Java】SpringBoot2.4.0 多配制文件使用,更方便的配置分组管理

首先先来看一下springboot2.4.0之前的版本是如何管理配置文件的.

单一环境,配置文件拆分(before)

大家在开发过程中是否有遇到这种场景呢?就是所有的配置,都写到application.yaml中,像Mysql,MQ,Redis的配置一长串.显得整个配置文件非常多不好管理.这时候就会想将这些中间件的配置拆分到其他配置文件中,然后使用spring.profiles.include将其引入进来.
如下:

spring:
  profiles:
    include: 'db,mq,redis'

上面这段配置的意思就是会将
application-db.yaml application-mq.yaml application-redis.yaml
三个配置文件都引入进来,这样application.yaml的配置就显得很简洁了,整个配置也很清晰.

多环境,配置文件拆分(before)

但是这里没有考虑到多环境的情况.
就比如,我开发环境需要引入application-dev-db.yaml 生产环境需要引入application-prod-db.yaml这里该怎么做呢?

# application.yaml
spring:
  profiles:
    active: dev
# application-dev.yaml
spring:
  profiles:
    include: 'dev-db,dev-mq,dev-redis'
# application-prod.yaml
spring:
  profiles:
    include: 'prod-db,prod-mq,prod-redis'

按照如上配置,但我们激活环境为dev时就加载application-dev.yaml该文件中指定了dev环境下需要包含进来的配置文件
这样就实现了多环境下的,配置文件拆分.

新版多环境,配置配置文件拆分

那么在2.4.0之后是如何进行配置文件的管理呢?
多了两个配置spring.config.import spring.profiles.group

# application.yaml
spring:
  config:
    import: 'application-common.yaml,application-common-2.yaml'
  profiles:
    active: dev
    group:
      dev: 'dev-mq,dev-db,dev-redis'
      prod: 'prod-mq,prod-db,prod-redis'

spring.config.import接收的是一个字符串数组
我认为spring.config.import可以导入一些与环境无关的,但需要拆分出去的配置文件.
spring.profiles.group 可以对配置文件进行分组,一般情况就是按照环境来分组.
当激活环境为dev时就会导入spring.profiles.group.dev下的所配置的文件.即 dev-mq,dev-db,dev-redis

我认为新版的配置会更好管理一些.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值