scope表示在ioc容器中,物件所處的限定場景或者存活空間。ioc容器在物件進入相應的scope之前,生成並裝配這些物件,在該物件不再處於這些scope的限定之後,容器通常會銷毀這些物件。
可以使用bean的singleton或scope屬性來指定相應物件的scope,其中,scope屬性只能在xsd格式的文件宣告中使用。
singleton
singleton型別
定義的bean,在乙個容器中只存在乙個例項,所有對該型別bean的依賴都引用這一單一例項。singleton型別的bean定義,從容器啟動,到他第一次被請求而例項化開始,只要容器不銷毀或退出,該型別的bean的單一例項就會一直存活。
prototyp
scope為prototype的bean,每次容器在接收到該型別的物件的請求的時,都會重新生成乙個新的物件給請求方。
雖然這種型別的物件的例項化以及屬性設定等工作都是由容器負責的,但是只要準備完畢,並且物件例項返回給請求方之後,容器就不在擁有當前物件的引用,請求方需要自己負責當前物件後繼生命週期的管理工作,包括該物件的銷毀。也就是說,容器每次返回請求方該物件的乙個新的例項之後,就由這個物件「自生自滅」了。
request ,session和global session
request
session
對於web應用來說,放到session中最普遍的就是使用者的登入資訊。
global session
global session只有應用在基於porlet的web應用程式中才有意義,他對映到porlet的global範圍的session,如果普通的servlet的web 應用中使用了這個scope,容器會把它作為普通的session的scope對待。
**
Spring中Bean的作用域
bean作用域 作用域描述 singleton 在每個spring ioc容器中乙個bean定義對應乙個物件例項。整個容器中只有該bean的唯一例項 prototype 乙個bean定義對應多個物件例項。request session global session 因為這樣在配置中的任何錯誤就會即刻...
spring中bean的作用域
如何使用spring的作用域 這裡的scope就是用來配置spring bean的作用域,它標識bean的作用域。在spring2.0之前bean只有2種作用域即 singleton 單例 non singleton 也稱prototype spring2.0以後,增加了session reques...
Spring中bean的作用域
1 singleton作用域 當乙個bean的作用域設定為singleton,spring ioc容器只會建立該bean定義的唯一例項。2 prototype prototype作用域部署的bean,每一次請求都會產生乙個新的bean例項,相當與乙個new的操作。3 request request表...