【问题标题】:Profile Inheritage In spring bootSpring Boot 中的配置文件继承
【发布时间】:2017-08-28 17:43:46
【问题描述】:

是否可以在 Spring Boot 中拥有一个配置文件以及另一个继承大部分父值和 bean 的配置文件?

例如,我有两个配置文件 暂存和暂存任务。 我希望 staging-task 继承暂存配置文件的数据库配置,但是我希望它覆盖 jpa 配置。

@Configuration bean 是否可以使用配置文件继承。

【问题讨论】:

    标签: java spring-boot spring-profiles


    【解决方案1】:

    是的。弹簧靴中可能有弹簧轮廓。 对于您的问题,请将您的常用数据库配置放在 application.yml(default profile) 中。

    您可以覆盖 application-stage.yml 中的其他属性。

    当活动配置文件为 stage 时,Spring 将从 application.yml 读取属性并从 application-stage.yml 覆盖。

    【讨论】:

    • 我明白了。这是一个很好的功能。 @Configuration bean 是否可以使用配置文件继承?谢谢!
    • 多层次的继承呢?例如foo-dev, foo-prod 继承自 foo 和 bar-dev, bar-prod 继承自 bar
    【解决方案2】:

    LT;DR

    活动 配置文件将按照定义活动配置文件的顺序读取相应的application-$profile.properties(如果它们存在)。稍后读取的属性会覆盖较早的属性。那会给你做某事的手段。像一个层次结构。

    加长版

    spring 中没有 profile-inheritance 这样的东西,但可以模仿 JRR 的答案中所写的那样。

    有关它的实际工作原理,请阅读:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties

    【讨论】:

      猜你喜欢
      • 2018-06-28
      • 2018-11-04
      • 1970-01-01
      • 2022-09-25
      • 2019-03-27
      • 1970-01-01
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多