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