spring 建立bean有單例模式(singleton)和原始模型模式(prototype)這兩種模式。spring
在默認的狀況下,Spring中建立的bean都是單例模式的(注意Spring的單例模式與GoF提到的單例模式略微有些不一樣,詳情參考Spring的官方文檔)。prototype
通常狀況下,有狀態的bean須要使用prototype模式,而對於無狀態的bean通常採用singleton模式(通常的dao都是無狀態的)。對象
所謂的狀態場景是:文檔
每次調用bean的方法,prototype都會提供一個新的對象(從新new),並不保存原有的實例,而singleton不一樣,屢次調用bean實際上使用的是同一個singleton對象,並且保存了對象的狀態信息。 方法