Spring中的Bean的作用範圍

2021-10-11 20:22:13 字數 1502 閱讀 5010

spring容器中通過bean標籤例項化時,同時也可以指定bean的作用範圍,通過scope=""來設定。

範圍作用描述

singleton

spring中預設的作用範圍是乙個單例的模式,ioc容器中只會有乙個bean定義的例項

prototype

多例的,每次呼叫getbean()方法獲取bean標籤的作用範圍為prototype時,都會產生新的例項

request

應用在web專案中,spring建立這個類以後,將這個類存入到request範圍中

session

應用在web專案中,spring建立這個類以後,將這個類存入到session範圍中

globalsessio

應用在web專案中,必須在porlet環境下使用。但是如果沒有這種環境,相對於session

單例模式(預設的模式):

"userservice"

class

="com.zy.service.impl.userserviceimpl" scope=

"singleton"

>

<

/bean>

原型模式(多例的):

"userservice"

class

="com.zy.service.impl.userserviceimpl" scope=

"prototype"

>

<

/bean>

"userservice"

class

="com.zy.service.impl.userserviceimpl" scope=

"singleton"

>

<

/bean>

執行測試**:

public

class

testdemo01

}

執行結果:

可以看出列印兩次物件的位址都是相同的。

bean.xml配置bean標籤時配置為原型模式:

"userservice"

class

="com.zy.service.impl.userserviceimpl"

scope

="prototype"

>

bean

>

繼續執行上面的測試**,執行結果如下:

可以看出來列印的兩個物件的位址是不一樣的。

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