У меня есть проект java с использованием Spring. Я определил три класса: BaseClass, SubClass1 и SubClass2. Два SubClassx расширяют BaseClass. Теперь мне нужно определить две фасоли, один находится в определенном профиле:Весной, как определить две фасоль, с тем же именем и другим классом
<bean id="newBean" class="SubClass1">
и
<beans profile="xxx">
<bean id="newBean" class="SubClass2">
</beans>
они находятся в разных файлах XML. Я использую Ломбок впрыснуть SubClass2 newBean в классе:
public class WarmUpAgent extends WarmUpAgent {
@Setter(onMethod = @__(@Required))
private SubClass2 subClass2;
...
<bean id="warmUpAgent" class="WarmUpAgent">
<property name="subClass2" ref="newBean" />
</bean>
Но когда я запускаю проект с профилем «ххх», он бросает:
IllegalStateException: Cannot convert value of type [SubClass1] to required type [SubClass2] for property 'subClass2'
Кажется, что не перезаписать фасоль newBean с SubClass2 , хотя я активировал профиль «xxx». Есть ли способ использовать профиль, чтобы определить два компонента, с одним и тем же именем и с другим классом?
спасибо.
================================================================================================================================== ==========================
Я поставил
<bean id="newBean" class="SubClass1">
и
<beans profile="xxx">
<bean id="newBean" class="SubClass2">
</beans>
в одном XML файл, и он работает. Но я хотел бы разделить их на два xml-файла, согласно проектной организации. Любые решения для реализации этого?
Вы твердят то же самое имя, но вы используете тот же идентификатор не назовёшь! –
Извините, моя ошибка. Я также пытался использовать имя, это тоже не работает. – GameBoy
вы можете показать свои 2 xml-файла – kuhajeyan