我想用一个类型参数实例化一个泛型 bean,并根据这个类型参数连接正确的依赖项。
假设我有:
@Named
public Parent<T> {
@Inject
Parent(Child<T> c) {
...
}
}
public interface Child<T> {}
@Named
public class ChildString implements Child<String> {}
@Named
public class ChildInteger implements Child<Integer> {}
然后我想像这样使用 Parent :
@Named
public class UseParent {
@Inject
Parent<String> p;
}
Spring 将抱怨“预期的单个匹配 bean,但发现 2:childString,childInteger”。
在这种情况下,连接我的豆子的最佳方法是什么?