【问题标题】:Feature toggle in spring context弹簧上下文中的功能切换
【发布时间】:2011-10-09 09:04:06
【问题描述】:

我想使用功能切换范例。具体来说,我希望我的 Spring 上下文包含基于切换的不同 bean 定义。

我遇到过这个:http://robertmaldon.blogspot.com/2007/04/conditionally-defining-spring-beans.html,看起来还可以,但可能有点太麻烦了

【问题讨论】:

    标签: java spring featuretoggle


    【解决方案1】:

    您可以使用spring profiles - 简而言之,您使用配置文件设置运行应用程序,并且上下文包含不同的bean,具体取决于该配置文件。

    【讨论】:

    • 我认为这不是一个完整的解决方案。除非我读错了,否则您不能混合使用多个配置文件。但是您可能希望在功能切换解决方案中混合使用多个功能。对吗?
    • 编辑:似乎 Spring 可以让您设置多个配置文件,但我仍然怀疑拥有 features == beans 并不总是正确的粒度,但它是一个开始。
    【解决方案2】:

    我相信您真正在寻找的是 Spring 管理不同配置文件的一种方式。

    不幸的是,在撰写本文时,还没有这样的功能。据我所知,人们通常会设计各种方案来解决这个问题,但基本上是使用 Spring 的 PropertyPlaceholderConfigurer 将不同的运行时配置“注入”到他们的属性文件中,方法是将 ${placeholder} 放入他们的 Spring 导入语句中,然后将该占位符取消引用为他们的环境变化(例如“DEV”、“TEST”、“PROD”)。

    不过,Spring 3.1 将对此进行更改 - 因为它将引入 @Profile 注释,该注释似乎与 Spring Java 配置选项很好地结合在一起,提供了一种完全放弃 XML 配置的方法(当然,应该选择这样做)。

    也许这篇文章会更清楚地说明这一点:Spring 3.1 M1: Introducing @Profile

    【讨论】:

      猜你喜欢
      • 2015-10-22
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 2020-01-10
      • 2014-05-31
      • 1970-01-01
      • 2016-12-20
      相关资源
      最近更新 更多