Я знаю, что на вопрос, который я задаю, нужно где-то ответить, но я не могу найти пример в сети с некоторыми рекомендациями.
Я хочу заменить определение bean-компонента Spring 3.0 при сборке и во время выполнения на общую кодовую базу. Я также использую профили Maven для создания разных версий одного и того же кода.
В настоящее время мой bean def
<bean id="somebean" class="com.x.SomeImpl" >
Мне нужно будет заменить и развернуть его в некоторых случаях, как
<bean id="somebean" class="com.x.SomeOtherImpl" >
Теперь подходы, о которых я думаю,
1) Используйте профили Maven, чтобы переключить полный applicationContext.xml на какой-либо другой applicationContextB.xml на основе профиля Maven.
2) Как-то использовать профили Maven? замените только определение идентификатора компонента на "somebean"
Мои вопросы:
а) Как можно реализовать вариант 2?
б) Эти подходы по-прежнему компилируют и упаковывают как SomeImpl, так и SomeOtherImpl во время сборки. Как я могу выбрать для компиляции и упаковки в EAR только один, а не другой?
Я знаю, что в Spring 3.1 есть профили env для bean-компонентов, но в настоящее время это не вариант.