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