Переопределить Spring Bean без псевдонима, который также является родительским - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть компонент в module1-spring.xml -

<bean id="parent" class="com.Parent"/>

<bean id="service" class="com.Service">
    <property name="parent" ref="parent"/>
</bean>

Я хочу переопределить компонент в module2-spring.xml -

<bean id="child" class="com.Child" parent="parent"/>

Я хочу, чтобы child передавался в службу вместо parent.Если я использую псевдоним child как parent, то есть

<alias id="child" alias="parent"/>

, тогда родительский атрибут будет читать дочерний элемент вместо родительского компонента и завершаться с ошибкой при запуске сервера с ошибкой -

BeanDefinitionStoreException:Недопустимое определение компонента с именем 'child', определенным в ресурсе пути к классу [module2-spring.xml]: не удалось разрешить определение родительского компонента "parent".

Как правильно переопределить родительский компонент при еготакже родитель ребенка?

1 Ответ

0 голосов
/ 04 декабря 2018

Копирование компонента в module2 и инъекция child исправили проблему.
module2-spring.xml-

<bean id="service" class="com.Service">
    <property name="parent" ref="child"/>
</bean>
...