我有一个带有添加方法的类“ Box”,该方法接受所有水果:
public class Box {
List <IFruit> fruits;
public void add (IFruit fruit) {
fruits.add(fruit);
}
}
我想用Spring的applicationContext.xml定义此类的单例实例,该实例将添加所有IFruits实现(这些实例出现在x.y.fruits包中,用于inst。x.y.fruits.Apple)。
第一部分很简单:
<bean id="box" class="x.y.Box"/>
但是如何连接所有IFruit实例?
谢谢!
最佳答案
如果您使用@Autowire
字段,则无需定义任何内容,Spring会在应用程序上下文中找到IFruit
接口的所有实例并将其加载到其中。
public class Box {
@Autowired
List <IFruit> fruits; //This should contain all IFruit's in the ApplicationContext
public void add (IFruit fruit) {
fruits.add(fruit);
}
}
当然,您需要将元素
<context:annotation-config/>
添加到xml配置中,以使@Autowired
起作用...