Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spring注入模板化集_Java_Spring - Fatal编程技术网

Java 使用Spring注入模板化集

Java 使用Spring注入模板化集,java,spring,Java,Spring,我班上有一名成员: Class Abc { ... @Autowired Set<TestClass> testClasses; ... } 如何使用Spring进行注射 我使用的xml是: <bean id="testClasses" class="java.util.HashSet"/> 我正在注入一个空bean,因为我希望它是一组空的TestClass类型 但它给了我以下错误: 未找到依赖项[collection]的[TestClass]类型的匹

我班上有一名成员:

Class Abc
{
...
    @Autowired
    Set<TestClass> testClasses;
...
}
如何使用Spring进行注射

我使用的xml是:

<bean id="testClasses" class="java.util.HashSet"/>
我正在注入一个空bean,因为我希望它是一组空的TestClass类型

但它给了我以下错误:

未找到依赖项[collection]的[TestClass]类型的匹配bean 属于TestClass]


我做错什么了吗

xml中定义的bean TestClass不是参数化的,而是自动连接的值集TestClass。所以你必须这样做:

<util:set id="testClasses" value-type="...TestClass" />


添加限定符解决了这个问题,因为可能有多个可用的集合类型。

您能给出完整的spring配置xml吗?这个错误现在已经解决了,我向TestClass类添加了@Component,并添加了一个默认构造函数。现在当我运行它时,它运行良好。但是testClasses.size默认为1。它添加了一个默认的对象TestClass。我不想那样。我只想注入一个空集:
@Resource(name="testClasses")
Set<TestClass> testClasses;
@Autowired
@Qualifier("testClasses")
Set<TestClass> testClasses;