zoukankan      html  css  js  c++  java
  • Spring MVC Controller单例陷阱

    Spring MVC Controller默认是单例的:

    单例的原因有二:

    1、为了性能。

    2、不需要多例。

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

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

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

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

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

  • 相关阅读:
    Git的使用
    Flask(五)
    Flask(四)
    Flask(二)
    Flask(一)
    SDL 五子棋游戏
    c++单例模式
    ubuntu安装虚拟机
    git 命令
    汇编x86入门
  • 原文地址:https://www.cnblogs.com/crazylqy/p/4305434.html
Copyright © 2011-2022 走看看