Spring Bean Scopes做用域

當定義一個Spring的<bean>,必須聲明bean 做用域的選項。例如,要強制Spring須要產生一個新的bean實例,應該聲明bean的scope屬性爲prototype。若是你但願Spring 每次都返回同一個bean實例,應該聲明bean的做用域,方式相似屬性是單例。web

Spring框架支持如下五個做用域,其中三個只有當您使用Web感知的 ApplicationContext 可用。緩存

範圍 描述
singleton This scopes the bean definition to a single instance per Spring IoC container (default).
prototype This scopes a single bean definition to have any number of object instances.
request This scopes a bean definition to an HTTP request. Only valid in the context of a web-aware Spring ApplicationContext.
session This scopes a bean definition to an HTTP session. Only valid in the context of a web-aware Spring ApplicationContext.
global-session This scopes a bean definition to a global HTTP session. Only valid in the context of a web-aware Spring ApplicationContext.

本章將討論前兩個範圍和其他三將討論的時候,咱們將討論有關Web感知Spring的ApplicationContext。session

singleton做用域:框架

若是範圍設置爲單例,Spring IoC容器建立了一個由該bean定義的對象只有一個實例。這個單一實例存儲在這樣的單例bean的高速緩存,以及全部後續請求和引用針對該bean返回緩存對象。prototype

相關文章
相關標籤/搜索