Spring Bean 默认是单例的,如何保证并发安全
1.Bean由单例改为原型。在类上增加注解@Scope("prototype"),缺点是会增加服务器开销。
2.避免使用类成员变量。
在实际工作中遇到过这个问题,在Controller
层的bean中定义了当前登录用户ID的类成员变量,导致客户操作时,创建人或修改人记录成其他人的ID,当时的解决方案就是增加了注解@Scope("prototype")启用原型模式。
Spring Bean 默认是单例的,如何保证并发安全
1.Bean由单例改为原型。在类上增加注解@Scope("prototype"),缺点是会增加服务器开销。
2.避免使用类成员变量。
在实际工作中遇到过这个问题,在Controller
层的bean中定义了当前登录用户ID的类成员变量,导致客户操作时,创建人或修改人记录成其他人的ID,当时的解决方案就是增加了注解@Scope("prototype")启用原型模式。