springMVC單例問題

2021-09-08 03:26:52 字數 731 閱讀 2436

首先看個小demo

@restcontroller

public class testcontroller

public int testinstance2()

}

依次訪問

http://localhost:8082/reed/test1 //返回1

http://localhost:8082/reed/test1 //返回2

http://localhost:8082/reed/test2 //返回3

可以看出。所以請求共享乙個物件。

若在方法前面加上@scope("prototype") 指定為享元模式

@restcontroller

@scope("prototype")

public class hellocontroller

依次訪問

http://localhost:8082/reed/test1 //返回1

http://localhost:8082/reed/test1 //返回1

http://localhost:8082/reed/test2 //返回1

可以看出變為多例,每次請求新建乙個物件

為什麼預設採用單例呢?

1.多例每次都要去新建物件,單例只需要例項化乙個物件。因此,單例會快很多。

2.如果controller中沒有屬性,完全不需要用多例。

springmvc中的單例問題

1,springmvc實際上是基於乙個叫做dispatcherservlet的servlet的。servlet按照以往的學習經驗,他是單事例多執行緒的。servlet生命週期 1.裝載servlet。這項操作一般是動態執行的。然而,server通常會提供乙個管理的選項,用於在server啟動時強制裝...

SpringMVC的控制器單例問題

springmvc中,controller service dao層的預設的scope是singleton 注 scope是springioc容器中的乙個作用域,在 spring ioc 容器中具有以下幾種作用域 基本作用域singleton 單例 prototype 多例 web 作用域 reqe...

springmvc 是單例還是多例呢

springmvc預設是單例的。我們可以通過以下 就能可以驗證 restcontroller public class hellocontroller public int testsingle2 定義了乙個全域性變數,這種寫法很少見,因為springmvc追求的就是把變數放在形參中,strust2...