码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC Controller单例陷阱

时间:2015-02-28 15:50:37      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

Spring MVC Controller默认是单例的:

 

单例的原因有二:

1、为了性能。

2、不需要多例。

 

1、这个不用废话了,单例不用每次都new,当然快了。

2、不需要实例会让很多人迷惑,因为spring mvc官方也没明确说不可以多例。

  我这里说不需要的原因是看开发者怎么用了,如果你给controller中定义很多的属性,那么单例肯定会出现竞争访问了。

 

spring3中的controller默认是单例的,若是某个controller中有一个私有的变量a,所有请求到同一个controller时,使用的a变量是共用的,即若是某个请求中修改了这个变量a,则,在别的请求中能够读到这个修改的内容。

若是在@controller之前增加@Scope(“prototype”),就可以改变单例模式为多例模式

 

Spring MVC Controller单例陷阱

标签:

原文地址:http://www.cnblogs.com/crazylqy/p/4305434.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!