【发布时间】:2012-03-29 08:09:10
【问题描述】:
我知道我要问的问题必须在某个地方得到回答,但我在网上找不到带有一些指导方针的示例。
我希望在构建和运行时将 Spring 3.0 bean 定义换成通用代码库。我还使用 Maven 配置文件来构建相同代码的不同版本。
目前我的 bean def 是
<bean id="somebean" class="com.x.SomeImpl" >
有时我需要替换和部署它
<bean id="somebean" class="com.x.SomeOtherImpl" >
现在我想到的方法是
1) 使用 Maven 配置文件将完整的 applicationContext.xml 切换到其他基于 Maven 配置文件的 applicationContextB.xml。
2) 以某种方式使用 Maven 配置文件?仅替换“somebean”的 bean id 定义
我的问题是:
a) 如何实现选项 2?
b) 这些方法在构建期间仍然编译和打包 SomeImpl 和 SomeOtherImpl。如何只选择一个而不选择另一个用于编译和打包到 EAR 中?
我知道 Spring 3.1 有 bean 的 env 配置文件,但目前这不是一个选项。
【问题讨论】: