Spring MVC的Controller是线程安全的么?

J2EE 码拜 9年前 (2015-04-11) 1702次浏览 0个评论

  众所周知,Struts2的Action因为每次请求都会创建一个实例,所以不存在线程不安全的问题。。
  但是Sprng MVC的Controller我是用的扫描的方式,在servletname-servlet.xml配置的,Spring IOC搞的Bean默认是单例模式吧?
我这么扫描Controller是不是就是单例的,会不会出现跟Servlet一样使用成员变量的线程安全问题????
如果加@Scope(“prototype”)其实可以解决,工作中大家都是怎么解决的?会不会影响性能??????

Spring MVC的Controller是线程安全的么?
Struts2是类级别的,需要原型实现;
SpringMVC是方法级的,没有共享属性的情况下,线程安全的。
Spring MVC的Controller是线程安全的么?
关于单不单例,这里有个文章,比较言简意赅:http://lavasoft.blog.51cto.com/62575/1394669
Spring MVC的Controller是线程安全的么?
引用 1 楼 oh_Maxy 的回复:

Struts2是类级别的,需要原型实现;
SpringMVC是方法级的,没有共享属性的情况下,线程安全的。

额。。。万一有共享属性的时候该怎么办?在那个Controller上配置@Scope注解么

Spring MVC的Controller是线程安全的么?
这个问题经常被问,见回答:
http://bbs.csdn.net/topics/390891861#post-398241838
Spring MVC的Controller是线程安全的么?
单例挺好啊,不使用成员变量就好了吧
Spring MVC的Controller是线程安全的么?
30分
你的理解是对的,Spring MVC 和 Servlet 一样,都不是线程安全的, 所以在使用成员变量的时候一定要注意,以免出现意外。

不要使用可变的成员变量,当然可以使用service,因为service基本上都是不可变的,因为service除了各种dao,也没有可变的成员变量。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Spring MVC的Controller是线程安全的么?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!