spring中用到的設計模式

2021-09-14 04:40:20 字數 1341 閱讀 6472

保證全域性僅有乙個例項,並為其提供乙個全域性訪問點。

spring中最明顯的使用時配置註冊bean的時候設定scope為singleton。

原始碼實現org.springframework.beans.factory.support.abstractbeanfactory#dogetbean

}// 雙重判斷加鎖的懶漢式單例實現!!!

定義乙個演算法骨架,將一些步驟延遲到子類中。模板方法中子類不可以改變演算法結構但是可以重新定義演算法。

解決的問題:一些方法通用,卻在每個子類都重新寫了這一方法

spring中jdbctemplate就是這種實現,jdbc的步驟是固定的

在這些步驟中第三四步是不固定的,所以留給客戶實現,實際使用jdbctemplate的時候只需要構建sql就可以了這是典型的模板模式。

@nullable

public

t execute

(statementcallback

action)

throws dataacces***ception

catch

(sqlexception var9)

finally

return var11;

}

當物件間存在一對多關係,則使用觀察者模式。乙個物件修改時會通知其他依賴物件。觀察者屬於行為模式。

spring中使用觀察者的是事件監聽

根據不同的引數返回不同類的例項,很好的分開了建立物件和使用物件的職責。

spring中的實現是通過getbean方法獲取物件的時候根據id或name返回例項。

class

="com.taotao.work"

id="work"

>

name

="work"

value

="gongzuo"

>

property

>

bean

>

public object getbean

(string name)

throws bean***ception

spring中用到的設計模式

2.單例設計模式 有一些物件其實我們只需要乙個,比如說 執行緒池 快取 對話方塊 登錄檔 日誌物件 充當印表機 顯示卡等裝置驅動程式的物件。優點 對於頻繁使用的物件,可以省略建立物件所花費的時間,這對於那些重量級物件而言,是非常可觀的一筆系統開銷 由於 new 操作的次數減少,因而對系統記憶體的使用...

Spring中用到的設計模式

todo 3.模式,在aop實現中用到了jdk的動態 4.策略模式,第乙個地方,載入資源檔案的方式,使用了不同的方法,比如 classpathresourece,filesystemresource,servletcontextresource,urlresource但他們都有共同的藉口resour...

Spring框架中用到了哪些設計模式

設計模式 spring aop功能的實現。單例設計模式 spring中的bean預設都是單例的。模板方法模式 spring 中 jdbctemplate hibernatetemplate 等以 template結尾的對資料庫操作的類,它們就使用到了模板模式。包裝器設計模式 我們的專案需要連線多個資...