[英]how to auto inject multiple beans into an ArrayList property with spring and its annotation
eg i have an array list property in my Action. 例如,我在动作中有一个数组列表属性。
private ArrayList<SitesBusiness> businesses;
and SitesBusiness is nothing but an interface, and this property is intended to contain all beans which implements SitesBusiness. 和SitesBusiness只是一个接口,该属性旨在包含实现SitesBusiness的所有bean。
the question is that i want to use spring annotation mechanism to auto inject all the beans that implements SitesBusiness into businesses. 问题是我想使用spring注释机制将实现SitesBusiness的所有bean自动注入企业。
Any one can help? 有人可以帮忙吗? Many thanks.
非常感谢。
i tried to use AutoWired on this method to do the job 我试图在这种方法上使用AutoWired来完成这项工作
@Autowired
public void addBusiness(SitesBusiness business) {
System.out.println("SitesAction, addBusiness.DI1210, business.identifier: " + business.getIdentifier());
for (int i = 0; i < this.businesses.size(); ++i) {
if (GlobalMethods.getInstance().checkEqual(this.businesses.get(i), business) || GlobalMethods.getInstance().checkEqual(this.businesses.get(i).getIdentifier(), business.getIdentifier())) {
return;
}
}
this.businesses.add(business);
}
Unfortunately, this is what i got: 不幸的是,这就是我得到的:
expected single matching bean but found 2: accountBusiness,diaryBusiness
This code should work: 此代码应工作:
@Autowired
private List<SitesBusiness> businesses;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.