Spring中Bean的作用域

2021-08-18 21:35:53 字數 599 閱讀 6485

在預設情況下,spring應用上下文中所有bean都是作為單例的形式建立的.大所屬情況下,單例bean是很理想的方案.但有時候,單例bean不是什麼很好的主意.

spring定義了多種作用域,可以基於這些作用域建立bean,包括:

1.單例(singleton):在整個應用中,只建立bean的乙個例項

2.原型(prototype):每次注入或者通過spring應用上下文獲取的時候,都會建立乙個新的bean例項.

3.會話(session):在web應用中,為每個會話建立乙個bean

4.請求(request):在web應用中,為每個請求建立乙個bean例項.

例如,要將bean的作用域宣告為原型:

@component

@scope(configurablebeanfactory.scope_prototype)

public class beatlescd implements compactdisc

}

當然也可以使用@scope("prototype"),但是使用scope_prototype常量更加安全並且不易出錯.

另外兩種暫時不深入說明.之後再詳細說明.

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表...