当前位置: 代码迷 >> J2EE >> Spring MVC的Controller是线程安全的么?该怎么处理
  详细解决方案

Spring MVC的Controller是线程安全的么?该怎么处理

热度:484   发布时间:2016-04-17 23:36:18.0
Spring MVC的Controller是线程安全的么?
  众所周知,Struts2的Action因为每次请求都会创建一个实例,所以不存在线程不安全的问题。。
  但是Sprng MVC的Controller我是用的扫描的方式,在servletname-servlet.xml配置的,Spring IOC搞的Bean默认是单例模式吧?
我这么扫描Controller是不是就是单例的,会不会出现跟Servlet一样使用成员变量的线程安全问题????
如果加@Scope("prototype")其实可以解决,工作中大家都是怎么解决的?会不会影响性能??????
------解决思路----------------------
你的理解是对的,Spring MVC 和 Servlet 一样,都不是线程安全的, 所以在使用成员变量的时候一定要注意,以免出现意外。

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