在Spring5中使用ObjectFactory实例化原型对象列表

在Spring5中使用ObjectFactory实例化原型对象列表,spring,dependency-injection,Spring,Dependency Injection,在Spring5中,我试图找到实现特定接口的类的列表,实例化它们,执行一些有状态处理,然后重复重置状态的过程。如果不必在单个方法调用中重复该过程,我可以使用原型作用域类,每次调用该方法时,我都会得到一个新对象。如果它只是一个对象,我可以使用ObjectFactory来创建新实例,但是如何使用ObjectFactory创建实现特定接口的对象列表呢 代码如下所示: ObjectFactory<WidgetInterface> objectFactory = ... while

在Spring5中,我试图找到实现特定接口的类的列表,实例化它们,执行一些有状态处理,然后重复重置状态的过程。如果不必在单个方法调用中重复该过程,我可以使用原型作用域类,每次调用该方法时,我都会得到一个新对象。如果它只是一个对象,我可以使用ObjectFactory来创建新实例,但是如何使用ObjectFactory创建实现特定接口的对象列表呢

代码如下所示:

  ObjectFactory<WidgetInterface> objectFactory = ...  
  while(hasMoreData()) {
        List<WidgetInterface> newWidgets = objectFactory.instantiateObjects()
        newWidgets.forEach(//do logic)
ObjectFactory ObjectFactory=。。。
while(hasMoreData()){
List newWidgets=objectFactory.InstanceObjects()
newWidgets.forEach(//do逻辑)

如果bean是原型,我认为ObjectFactory每次都会给您一个新实例


您只需自动连接ObjectFactory并调用getObject()。

我的版本是5.1.6,使用
ObjectProvider
,它扩展了
ObjectFactory
Iterable