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

2024-02-29 1052阅读

温馨提示:这篇文章已超过388天没有更新,请注意相关的内容是否还可用!

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

【Java】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

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

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]