我想使用功能切换范例。具体来说,我希望我的Spring上下文包含基于切换的不同bean定义。
我遇到过这个:http://robertmaldon.blogspot.com/2007/04/conditionally-defining-spring-beans.html,看起来不错,但可能有点太麻烦了
答案 0 :(得分:4)
您可以使用spring profiles - 简而言之,您使用配置文件设置运行应用程序,并且上下文包含不同的bean,具体取决于该配置文件。
答案 1 :(得分:3)
我相信您实际需要的是Spring管理不同配置文件的方法。
不幸的是,在撰写本文时,并不存在这样的功能。据我所知,人们通常设计各种方案来解决这个问题,但实质上是使用Spring的PropertyPlaceholderConfigurer
将不同的运行时配置“注入”到属性文件中,方法是将${placeholder}
放入Spring导入语句中,然后取消引用此占位符作为其环境的变化(例如“DEV”,“TEST”,“PROD”)。
这将由Spring 3.1改变 - 因为它将引入@Profile
注释,它似乎与Spring Java Configuration选项很好地结合,给人一种完全放弃XML配置的方法(当然,如果有人选择的话) )。
也许这篇文章会更清楚地说明这一点:Spring 3.1 M1: Introducing @Profile