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最全面試題及答案。
推薦去我的博客閱讀更多:
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
覺得不錯,別忘了點贊+轉發哦!