永发信息网

Spring MVC的Controller是线程安全的么

答案:2  悬赏:0  手机版
解决时间 2021-01-29 22:39
Spring MVC的Controller是线程安全的么
最佳答案
SpringMVC 是基于单例模式的,所以如果有类的实例全局变量,这个会出现问题。但是根据SpringMVC的设计要求,不推荐存在全局变量,出现的类引用也不过是Service层中的对象,这个对象不具备保存请求数据信息的功能,如果有保存信息也直接传入了函数内部。函数内部定义的变量时线程安全的。所以应该是可以放心使用的。SpringMVC和Sturts2设计的不同是请求的信息是否保存才Controller层中。Struts2的Action是需要保存请求信息的。而SpringMVC是不保存的。所以Struts2是用prototype,SpringMVC是singleton。

整体来说,SpringMVC的Controller是线程不安全的,但是对设计有规定要求,这样可以避免线程安全问题。不只是Controller,包括Service和Dao都是不安全的。
全部回答
默认线程不安全。 spring mvc默认注册bean都是单例模式,即:@scope("singleton"),所有线程调用的都是同一个实例对象,所以线程不安全。不过可以手动指定javabean的scope为多例,即:@scope("prototype"),每个线程调用都会重新实例化一个对象,这样就线程安全了。 @controller @scope("prototype") @requestmapping("/user") public class usercontroller {     // ... }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
全世界有多少人叫高铭宇
小孩3个月 卖了农村合作医疗住院费用能报吗
我喊麦新手,求送女友的麦词和伴奏,谢谢!
新南国形象设计地址在什么地方,我要处理点事
票据权利人为将票据权利出质给他人而进行背书
41码的脚能穿40的吗?急!
深根固蔕的意思是什么啊?知道的请说下!
德邦快递寄衣服零食11公斤应收多少钱
小明有5元和2元的纸币共18张,一共60元,两种
她被称作时尚女魔头,凭什么成为全世界最牛
狗不理包子到底好吃在哪里?详细
艺名造型地址有知道的么?有点事想过去
培训WEB前端以后将来从事什么工作,工资可以达
正常辞工能退失业保险吗
空同的意思是什么啊?知道的请说下!
推荐资讯
证券公司从事中间介绍业务,不得( )。Ⅰ.协
留置是什么意思
门窗工程的专项验收是必须的吗
钻石小鸟和戴瑞Darry Ring哪个好
养一种植物 绿豆 (写出生长过程)
宁德市红十字会救护培训中心地址有知道的么?
想在厦门买个3dsll。请问哪有实体店价格大概
管儿的意思是什么啊?知道的请说下!
51人品贷是否进入大公信用数据网贷黑名单
DNF游戏币到底哪个网站最便宜?
谁知道我的世界故事模式完整版资源下载在哪
若f(x+1)=x²+6x,则f(x)=( )
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?