IOC 九 bean的作用域

2022-07-25 17:30:19 字數 1385 閱讀 2065

什麼是單例、多例:

單例就是所有的請求都用乙個物件來處理,比如我們常用的service和dao層的物件通常都是單例的;

多例則指每個請求用乙個新的物件來處理,比如action;

詳細說明可參考: 

可以用spring配置檔案bean標籤裡面的scope屬性, 來設定單例項/多例項.

spring預設單例項, 即scope=singleton

可以通過設定scope=prototype來設定多例項

舉例說明:

建立testbean物件:

public

class

testbean

配置xml檔案, 不指定scope(或指定scope=singleton, 兩者相同):

xml version="1.0" encoding="utf-8"

?>

<

beans

xmlns

=""xmlns:xsi

=""xsi:schemalocation

=" /spring-beans.xsd"

>

<

bean

id="testbean"

class

="com.ryan.spring5.testscope.testbean"

>

bean

>

beans

>

生成兩個例項, 測試其位址相同:

按上例, 指定配置檔案bean中scope=prototype:

xml version="1.0" encoding="utf-8"

?>

<

beans

xmlns

=""xmlns:xsi

=""xsi:schemalocation

=" /spring-beans.xsd"

>

<

bean

id="testbean"

class

="com.ryan.spring5.testscope.testbean"

scope

="prototype"

>

bean

>

beans

>

生成兩個例項, 測試其位址不同:

Ioc中Bean的作用域

在spring中,可以在 bean 元素的scope屬性裡設定bean的作用域,以決定這個bean是單例項的還是多例項的。預設情況下,spring值為每個在ioc容器裡宣告的bean建立唯一乙個例項,整個ioc容器範圍內都能共享該例項 所有後續的getbean 呼叫和bean引用都將返回這個唯一的b...

Bean的作用域

bean元素有乙個scope屬性,用於定義bean的作用域,該屬性有如下五個值 1 singleton 單例模式,在整個spring ioc容器中,單例模式作用域的bean都將只生成乙個例項。一般spring容器預設bean的作用域為singleton 2 prototype 與singleton相...

Bean的作用域

singleton 單例 代表在spring ioc容器中只有乙個bean例項 預設的scope prototype 多例每一次從 spring 容器中獲取時,都會返回乙個新的例項 request 用在web開發中,將bean物件request.setattribute 儲存到request域中 s...