Dependency injection Spring IOC w/泛型-基于依赖项的类型参数注入依赖项

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

我想用一个类型参数实例化一个泛型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


在这种情况下,连接bean的最佳方法是什么?

我还没有找到一种令人满意的方法。我现在使用的解决方案是创建一个指定泛型类型的父类的子类,例如:

@Named
public ParentString {

   @Inject
   ParentString(Child<String> c) {
          super(c);
   }

}

@Named
public class UseParent {

   @Inject
   ParentString p;

}