Spring Bean的5種作用域

2021-06-26 05:02:15 字數 1401 閱讀 1025

spring bean的5種作用域

singleton作用域:

spring的scope的預設值是singleton

spring 只會為每乙個bean建立乙個例項,並保持bean的引用.

或 

spring1以上提供

prototype作用域:

每一次請求(將其注入到另乙個bean中,或執行getbean()方法)都會產生乙個新的bean例項,相當於new操作.

spring一旦將bean例項交給(注入)呼叫者,就不再持有這個bean的引用。就無法再執行bean定義的destroy-method.

清除prototype作用域的bean物件並釋放資源,是呼叫者的職責。

或 

spring1以上提供

request作用域:

spring1以上提供

session作用域:

spring1以上提供

globalsession作用域:

它僅僅在基於portlet的web應用中才有意義。portlet規範定義了全域性session的概念,它被所有構成某個portlet web應用的各種不同的portlet所共享。在global session作用域中定義的bean被限定於全域性portlet session的生命週期範圍內。如果你在web中使用global session作用域來標識bean,那麼,web會自動當成session型別來使用。

spring1以上提供

web環境作用域的特殊配置:

使用request作用域、request作用域、globalsession作用域還需要進行額外的配置

在低版本的web容器中(servlet2.3以前),需要使用過濾器進行配置

requestcontextfilter

org.springframework.web.filter.requestcontextfilter

/*...

在高版本的web容器中,可以使用***進行配置

org.springframework.web.context.request.requestcontextlistener

...

混合使用作用域的問題:

a bean是request作用域,它要被乙個singleton作用域的b bean使用(被注入)。還要使用配置。

...xmlns:aop="....."   要引入aop命名空間

>

Spring Bean的5種作用域

spring bean的5種作用域 singleton作用域 spring的scope的預設值是singleton spring 只會為每乙個bean建立乙個例項,並保持bean的引用.或 spring1以上提供 prototype作用域 每一次請求 將其注入到另乙個bean中,或執行getbean...

Spring Bean的作用域

bean的作用域,常用的有兩種,單例singleton 多例prototype 預設情況下,bean都是單例的singleton。在容器初始化的時候就被建立,就這麼乙份。1 單例模式 例如 測試 package com.lynn.spring.test import static org.junit...

Spring bean的作用域

spring框架中,bean 的作用域有如下五種 1.單例 每個spring的ioc容器返回來乙個bean例項 框架預設 2.原型 當每次請求時候都返回來乙個bean例項 3.請求 每個http請求返回來乙個bean例項 4.會話 每個http會話返回來乙個bean例項 5.全域性會話 返回全域性會...