Spring的單例模式和多例模式

2021-09-10 19:02:49 字數 735 閱讀 8719

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

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

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

spring bean 預設是單例模式。

實戰演示:

在配置檔案中,修改這句**為:

1
在測試類中,修改**為:

2 hi hi1 = (hi) context.getbean("hi");

3 hi hi2 = (hi) context.getbean("hi");

4 system.out.println(hi1);

5 system.out.println(hi2);

結果為:

結論:二個變數指向乙個物件。

將配置檔案改為:

其他的不變,執行測試類,結果為:

結論:每次訪問bean,均建立乙個新例項。

Spring 單例模式和多例模式

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

Spring單例模式和多例模式

預設情況下scope singleton 那麼該bean是單例,任何人獲取該bean例項的都為同乙個例項 scope prototype 任何乙個例項都是新的例項 scope request 在web應用程式中,每乙個例項的作用域都為request範圍 scope session 在web應用程式中...

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

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