Java Autowire在Spring中扩展集合的类
我有一个扩展集合的类,特别是HashMap。我想在另一个类中将其用作自动连接字段,但是当我尝试以以下方式使用@autowired或@resource注释时: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 如何自动连接
@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类注释为一个组件,但仍然是相同的错误