Я знаю, что на мой вопрос нужно где-то ответить, но я не могу найти пример в сети с некоторыми рекомендациями.
Я хочу поменять определение 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 как-нибудь?замените только определение идентификатора bean-компонента на «somebean»
Мои вопросы:
a) Как можно реализовать вариант 2?
b) Эти подходы все еще компилируются и упаковываются какSomeImpl и SomeOtherImpl во время сборки.Как я могу выбрать только одно, а не другое для комплимента и упаковки в EAR?
Я знаю, что в Spring 3.1 есть профили env для bean-компонентов, но в настоящее время это не вариант.