Spring bean scope 詳解

Scope是定義Spring如何創建bean的實例的。

在創建bean的時候可以帶上scope屬性,scope有下面幾種類型。

Singleton

這也是Spring默認的scope,表示Spring容器只創建一個bean的實例,Spring在創建第一次後會緩存起來,之後不再創建,就是設計模式中的單例模式。

Prototype

代表線程每次調用這個bean都新創建一個實例。

Request

表示每個request作用域內的請求只創建一個實例。

Session

表示每個session作用域內的請求只創建一個實例。

GlobalSession

這個只在porlet的web應用程序中才有意義,它映射到porlet的global範圍的session,如果普通的web應用使用了這個scope,容器會把它作爲普通的session作用域的scope創建。

在創建bean的時候如何指定呢?

xml方式

<bean id="student" class="Student" scope="prototype" />

註解方式

@Component

@Scope("prototype")

public class Student{

}

是不是很簡單,更多幹貨請關注Java技術棧微信公衆號。

關注公衆號Java技術棧回覆"面試"獲取我整理的2020最全面試題及答案。

推薦去我的博客閱讀更多:

1.Java JVM、集合、多線程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、後端、架構、阿里巴巴等大廠最新面試題

覺得不錯,別忘了點贊+轉發哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章