2013-10-23 50 views
0

Spring容器創建的原型bean比Singleton bean更快嗎?如果是的話多少?創建Spring prototype bean比創建singleton更快嗎?

也許一些背景的問題。假設我們有包含很多bean定義的上下文定義。而應用程序是一個'短跑任務',我想知道是否可以通過將所有bean定義爲原型來加速上下文的創建 - 因爲在這種情況下,它們是否是單例並不重要。

+1

我可能會建議他們採用相同的*數量*的時間來創建,但是一般來說,每次從應用程序上下文請求'singleton'範圍bean時,將獲取'singleton'範圍bean,而'prototype' bean每次從應用程序上下文請求時都需要*創建*。 –

回答

1

這兩種方法在創建的bean數量上完全不同。

  • 當Bean有一個scope="prototype"這意味着 bean實例將被創建每次你問一個bean與相應的id

  • 當bean沒有scope屬性集時,這意味着當第一次加載上下文並且將被共享時將創建單個實例。

我相信創建原型和單身豆所花費的時間非常接近(如果不是相同的話)。

+0

是的,我知道原型和單件之間的區別是什麼。問題是關於時間。 Singleton bean完全由IOC容器管理,這就是爲什麼我想知道單例創建過程是否需要更多。 –

+0

我認爲他們都重複使用相同的「創建bean源代碼」 –