Dependency injection Spring IOC w/泛型-基于依赖项的类型参数注入依赖项
我想用一个类型参数实例化一个泛型bean,并基于这个类型参数连接正确的依赖项 假设我有:Dependency injection Spring IOC w/泛型-基于依赖项的类型参数注入依赖项,dependency-injection,spring-ioc,Dependency Injection,Spring Ioc,我想用一个类型参数实例化一个泛型bean,并基于这个类型参数连接正确的依赖项 假设我有: @Named public Parent<T> { @Inject Parent(Child<T> c) { ... } } public interface Child<T> {} @Named public class ChildString implements Child<String> {} @Nam
@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
在这种情况下,连接bean的最佳方法是什么?我还没有找到一种令人满意的方法。我现在使用的解决方案是创建一个指定泛型类型的父类的子类,例如:
@Named
public ParentString {
@Inject
ParentString(Child<String> c) {
super(c);
}
}
@Named
public class UseParent {
@Inject
ParentString p;
}