我有以下类结构:
class A{
...
}
class B{
...
}
interface I<T>{
...
}
@Component("childA")
class ChildA implements I<A>{
. ..
}
@Component("childB")
class ChildB implements I<B>{
...
}
class Test {
@Autowired
@Qualifier("childA")
public I<A> childOfA;
}
即使在使用限定符之后,我也为属性childOfA
获取了类型I的唯一bean的异常。
我尝试过使用default-autowire = no
- 它与代码的其他部分搞混了。
答案 0 :(得分:0)
根据Component
docs,值只是“建议的名称”,而不是特定的限定符。如果您还没有,请尝试将其更改为明确指定Qualifier
,如下所示:
@Component
@Qualifier("childA")
class ChildA implements I<A>{ ... }
@Component
@Qualifier("childB")
class ChildB implements I<B>{ ... }