Мне нужна помощь в следующей теме.Весна выдает ошибку: определение бина абстрактно
У меня есть иерархия бобов, просто так:
<bean id="father" class="myPackage.Father" abstract="true"/>
<bean id="childA" class="myPackage.ChildA" parent="father">
<property name="atrib1" value="hello"></property>
</bean>
<bean id="childB" class="myPackage.ChildB" parent="father">
<property name="atrib2" value="bye"></property>
<property name="atrib3" value="other"></property>
</bean>
Мне нужно создать еще один компонент, который содержит ссылку на абстрактный класс. Затем во время выполнения мне нужно будет инициализировать переменную TYPE «myPackage.Father» и создать экземпляр с любым из дочерних классов (механизм полиморфизма). Я имею в виду что-то вроде этого:
<bean id="reference" class="myPackage.Another">
<property name="atrib4" ref="father"></property>
</bean>
Заметьте, что ссылка (экземпляр myPackage.Another) не является подкласс myPackage.Father. Но с этими линиями весна вызывает следующую ошибку:
Bean definition is abstract
Как я могу справиться с этим?
Благодарим за помощь, спасибо заранее!
'abstract' на определение компонента ** ** ** отношение к абстрактному классу. Если вам нужно другое средство создания экземпляра, либо определите «FactoryBean», который содержит эту логику, либо используйте файл свойств, содержащий ссылочный компонент, и используйте «PropertyPlaceHolder», чтобы заменить его во время выполнения. –