Java Autowire在Spring中扩展集合的类

Java Autowire在Spring中扩展集合的类,java,spring,annotations,spring-annotations,Java,Spring,Annotations,Spring Annotations,我有一个扩展集合的类,特别是HashMap。我想在另一个类中将其用作自动连接字段,但是当我尝试以以下方式使用@autowired或@resource注释时: @Autowired private myCollectionClass<String, Object> myCollectionClass; @Autowired 私人myCollectionClass myCollectionClass; 我得到一个错误:没有[MyCollection类]类型的合格bean 如何自动连接

我有一个扩展集合的类,特别是HashMap。我想在另一个类中将其用作自动连接字段,但是当我尝试以以下方式使用@autowired或@resource注释时:

@Autowired
private myCollectionClass<String, Object> myCollectionClass;
@Autowired
私人myCollectionClass myCollectionClass;
我得到一个错误:没有[MyCollection类]类型的合格bean

如何自动连接该类


(我无法在项目中使用xml)

您是否对myCollectionClass进行了注释

如果没有,您需要为spring容器注释
myCollectionClass
以及
@Component
,以根据类名或类类型限定对象


您还可以使用
@Qualifier
并指定限定符类名。

最简单的解决方案是使用@Resource指定bean id

@Resource(name="myCollection")
private MyCollectionClass<String, Object> myCollectionClass;
@Resource(name=“myCollection”)
私人MyCollectionClass MyCollectionClass;
或者您可以将@Qualifier与@Autowired结合使用

@Autowired @Qualifier("myCollection")
private MyCollectionClass<String, Object> myCollectionClass;
@Autowired@Qualifier(“myCollection”)
私人MyCollectionClass MyCollectionClass;

抛出“没有定义名为'myCollection'的bean”的提示:所以定义一个名为“myCollection”的bean在自动连接到另一个类之前,我已经将collection类注释为一个组件,但仍然是相同的错误