我想使用feature-toggle范例。具体来说,我希望我的Spring上下文包含基于切换的不同bean定义。
我遇到过这个:http://robertmaldon.blogspot.com/2007/04/conditionally-defining-spring-beans.html,看起来不错,但可能有点太麻烦
您可以使用spring概要文件—简而言之,您使用概要文件设置运行应用程序,并且上下文根据该概要文件包含不同的bean。
我相信您实际上在寻找的是Spring管理不同配置文件的方法。
遗憾的是,在撰写本文时,这样的功能还不存在。据我所知,人们通常会设计各种方案来解决这个问题,但本质上是使用Spring的PropertyPlaceholderConfigurer
将不同的运行时配置"注入"到他们的属性文件中,方法是将${placeholder}
放入他们的Spring导入语句中,然后随着环境的变化解除对这个占位符的引用(例如:"DEV", "TEST", "PROD").
这将在Spring 3.1中改变,因为它将引入@Profile
注释,它似乎与Spring Java配置选项很好地结合在一起,提供了一种完全放弃XML配置的方法(当然,如果选择的话)。