spring中用到的設計模式

2021-09-29 05:24:38 字數 905 閱讀 7160

2.單例設計模式

有一些物件其實我們只需要乙個,比如說:執行緒池、快取、對話方塊、登錄檔、日誌物件、充當印表機、顯示卡等裝置驅動程式的物件。

優點:對於頻繁使用的物件,可以省略建立物件所花費的時間,這對於那些重量級物件而言,是非常可觀的一筆系統開銷;由於 new 操作的次數減少,因而對系統記憶體的使用頻率也會降低,這將減輕 gc 壓力,縮短 gc 停頓時間。

spring 中 bean 的預設作用域就是 singleton(單例)的

3.**模式

spring aop 就是基於動態**的,如果要**的物件,實現了某個介面,那麼spring aop會使用jdk proxy,去建立**物件,而對於沒有實現介面的物件,就無法使用 jdk proxy 去進行**了,這時候spring aop會使用cglib ,這時候spring aop會使用 cglib 生成乙個被**物件的子類來作為**

4.觀察者模式

觀察者模式是一種物件行為型模式。它表示的是一種物件與物件之間具有依賴關係,當乙個物件發生改變的時候,這個物件所依賴的物件也會做出反應。spring 事件驅動模型就是觀察者模式很經典的乙個應用。spring 事件驅動模型非常有用,在很多場景都可以解耦我們的**。比如我們每次新增商品的時候都需要重新更新商品索引,這個時候就可以利用觀察者模式來解決這個問題。

我們知道 spring aop 的實現是基於**模式,但是 spring aop 的增強或通知(advice)使用到了介面卡模式,與之相關的介面是advisoradapter。如前置通知後置通知等。

6.模板方法模式

spring 中 jdbctemplate、hibernatetemplate 等以 template 結尾的對資料庫操作的類,它們就使用到了模板模式。

3.介面卡模式

例如log的mybatis介面和它對jdbc、log4j等各種日誌框架的適配實現;

spring中用到的設計模式

保證全域性僅有乙個例項,並為其提供乙個全域性訪問點。spring中最明顯的使用時配置註冊bean的時候設定scope為singleton。原始碼實現org.springframework.beans.factory.support.abstractbeanfactory dogetbean 雙重判斷...

Spring中用到的設計模式

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

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

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