什麼是單例、多例:
單例就是所有的請求都用乙個物件來處理,比如我們常用的service和dao層的物件通常都是單例的;
多例則指每個請求用乙個新的物件來處理,比如action;
詳細說明可參考:
可以用spring配置檔案bean標籤裡面的scope屬性, 來設定單例項/多例項.
spring預設單例項, 即scope=singleton
可以通過設定scope=prototype來設定多例項
舉例說明:
建立testbean物件:
public配置xml檔案, 不指定scope(或指定scope=singleton, 兩者相同):class
testbean
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...