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