我有一个用原型范围定义的组件。我想在我的服务类中使用该组件。我希望春天每次我呼唤它时都能为我提供一个新的豆子实例。
组件类:
@Getter
@Setter
@Component
@Scope("prototype")
public class ProtoTypeBean {
//.. Field variables
}
服务等级:
@AllArgsConstructor
@Service
public class ServiceClass {
ProtoTypeBean prototypeBean;
ArrayList<ProtoTypeBean> prototypeBeans;
public void demoMethod(ArrayList<String> someArrayList) {
for(var singleString: someArrayList) {
prototypeBean.setFieldValue(singleString);
prototypeBeans.add(prototypeBean);
}
System.out.println(prototypeBeans.toString());
}
}
通过使用此配置,我在我的原型Beans ArrayList中获得了相同的ProtoTypeBean实例。问题是,我如何让Spring理解每次我将其调用到foreach循环中时都给我一个新的原型Bean实例?我发现我可以使用 ApplicationContext.getBean() 在 foreach 循环中获取 Bean 的新实例,但我也听说这是一个不好的做法。因此,请帮助我进行最佳实践。
潇潇雨雨
慕尼黑8549860
浮云间
相关分类