我有一个弹簧注入服务
class A{
List l = new ArrayList();
public m1(){
//do some additions in list
}
public m2(){
//do some new additions in list
}
}
现在因为创建 , 的对象A
是在 spring 的手中,所以程序的行为不是预期的。(我希望列表始终为空,但由于某些有线原因没有被方法初始化)
Spring 将始终只创建一个实例A
,因此该列表l
将继续增长,我已在应用程序上下文中将 bean 配置为单例。
如果是,自然我必须初始化函数内的列表m1
&m2
或被调用者必须超过引用,在我的情况下,被调用者是 struts2 动作,它们不是单例的,所以这个问题可以解决吗?
或者
spring 是否在配置中提供任何支持以在每次调用或其他情况下初始化成员变量?
更一般地说,在编写 Spring 注入的服务时,关于使用成员变量/局部变量来提高性能和效率的最佳实践是什么。