Spring單例模式和多例模式

2021-10-08 01:15:30 字數 808 閱讀 2375

預設情況下scope="singleton",那麼該bean是單例,任何人獲取該bean例項的都為同乙個例項;

scope="prototype",任何乙個例項都是新的例項;

scope="request",在web應用程式中,每乙個例項的作用域都為request範圍;

scope="session",在web應用程式中,每乙個例項的作用域都為session範圍;

注意:在預設情況下,bean例項在被spring容器初始化的時候,就會被例項化,預設呼叫無引數的構造方法。在其它情況下,bean將會在獲取例項的時候才會被例項化。

在spring中,bean可以被定義為兩種模式:prototype(多例)和singleton(單例)

singleton(單例):只有乙個共享的例項存在,所有對這個bean的請求都會返回這個唯一的例項。

單例模式分為餓漢模式和懶漢模式:

餓漢模式

spring singleton的預設是餓漢模式:啟動容器時(即例項化容器時),為所有spring配置檔案中定義的bean都生成乙個例項

懶漢模式

在第乙個請求時才生成乙個例項,以後的請求都呼叫這個例項

spring singleton設定為懶漢模式:

prototype(多例):對這個bean的每次請求都會建立乙個新的bean例項,類似於new。

Spring 單例模式和多例模式

singleton 單例 只有乙個共享的例項存在,所有對這個bean的請求都會返回這個唯一的例項。prototype 多例 對這個bean的每次請求都會建立乙個新的bean例項,類似於new。spring bean 預設是單例模式。單例測試 測試類user user1 user context.ge...

Spring的單例模式和多例模式

在spring中,bean可以被定義為兩種模式 prototype 多例 和singleton 單例 singleton 單例 只有乙個共享的例項存在,所有對這個bean的請求都會返回這個唯一的例項。prototype 多例 對這個bean的每次請求都會建立乙個新的bean例項,類似於new。spr...

Spring學習之路 單例模式和多例模式

在spring中,bean可以被定義為兩種模式 prototype 多例 和singleton 單例 singleton 單例 只有乙個共享的例項存在,所有對這個bean的請求都會返回這個唯一的例項。prototype 多例 對這個bean的每次請求都會建立乙個新的bean例項,類似於new。spr...