Spring 如何保证 Controller 并发的安全?
Spring中的Controller并没有保证并发情况下的安全,因为是单例模式,如果一个Controller有成员变量,多个请求对一个Controller成员变量的修改更新取值肯定会导致脏数据的产生。
如果非要这么操作,可以考虑@Scope(“prototype/request/session)可以更换为其他模式
Controller 本身是单例, 是否线程安全还得看你怎么用. 任何情况下,线程安全问题都是看你怎么处理共享对象,而不是看你是不是单例还是原型对象
1、Spring MVC中默认的Controller是单例模式
2、@Controller之前增加@Scope(“prototype”)可以更换为多例模式
3、如果非要在单例模式下,共享变量,记得加锁解决线程安全问题
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。