参数化集合的Spring自动assembly

各位大家好,感谢您的帮助。

我遇到一个问题,Spring无法自动assemblyArrayBlockingQueue类型的参数化成员变量。

这是java代码:

@Controller public class SomeController { @Autowired private ArrayBlockingQueue myQueue; } 

并在spring配置xml中:

    

为ArrayBlockingQueue指定类型(SomeCustomType)似乎会混淆spring无法找到匹配并且不执行自动assembly。

有关如何使其工作的任何想法? 我知道我可以创建我自己的包装类(围绕ArrayBlockingQueue),这个类没有参数化但我宁愿不知道是否有更好的方法来解决这个问题。

如果您尝试使用注释自动连接集合,则使用@Resource而不是@Autowired

为了满足@Autowired集合依赖性,IoC容器会查找正确类型的元素以构建此类集合。 换句话说,它不会查找集合本身,而是从其他bean构建集合。

有关更多信息,请参阅Spring文档,例如。 在这里 。