我有一个抽象类和两个实现。我们称他们为ParentAbstract
,ParentA
和ParentB
。 ParentAbstract
具有BeanAbstract: bean
类型的属性。此抽象类有两种实现:BeanA
和BeanB
。
是否可以使用Spring,以便BeanA
中的ParentA
和BeanB
中的ParentB
注入?{/ p>
请注意,我不能将ParentA
和ParentB
用作Spring bean,因为它们是Wicket页面。
答案 0 :(得分:1)
Spring默认尝试按类型自动装配。如果存在歧义(例如此处的情况),必须提供限定符。
建议的方法是显式声明配置中的依赖项(XML
或@Configuration
)或按名称自动跟踪
@Resource(name="beanA")
答案 1 :(得分:1)
在ParentAbstract
添加抽象方法
abstract setBean(BeanAbstract bean);
然后在子类中,覆盖它们并注释:
@Override
@Autowired
@Qualifier("name") // or @Resource("name")
setBean(BeanAbstract bean) {
this.bean=bean;
}