SSM框架歸納學習Spring篇

Spring是什麼?

Spring是一個分層,輕量級兼容性高的一站式(一條龍服務)開源框架。

分層:表現層SpringMVC,業務邏輯層(Dao層)管理事務、記錄日誌,持久層(數據訪問 層)MyBatis。

輕量級:高內聚低耦合   低耦合·對象得創建和依賴關係的維護都交給Spring容器管 理。(IOC控制反轉)

兼容性高:面向切面開發(AOP)。

Spring的核心

IOC控制反轉

IOC是什麼?

IOC是一種理論:藉助於“第三方容器”實現具有依賴關係的對象之間的解耦(IOC是一種理論思想,它的存在形式是第三方容器,被命名爲IOC容器)

IOC容器,使得A、B、C、D這4個對象沒有了耦合關係,齒輪之間的傳動全部依靠“第 三方”了,全部對象的控制權全部上繳給“第三方”IOC容器,所以,IOC容器成了整個系 統的關鍵核心,它起到了一種類似“粘合劑”的作用,把系統中的所有對象粘合在一起發 揮作用,如果沒有這個“粘合劑”,對象與對象之間會彼此失去聯繫,這就是有人把IOC容器比喻成“粘合劑”的由來。

爲什麼叫IOC控制反轉?

軟件系統在沒有引入IOC容器之前,如圖所示,對象A依賴於對象B,那麼對象A在初始化或者運行到某一點的時候,自己必須主動去創建對象B或者使用已經創建的對象B。無論是創建還是使用對象B,控制權都在A手上

    軟件系統在引入IOC容器之後,這種情形就完全改變了,如圖所示,由於IOC容器的加入,對象A與對象B之間失去了直接聯繫,所以,當對象A運行到需要對象B的時候,IOC容器會主動創建一個對象B注入到對象A需要的地方

    通過前後的對比,我們不難看出來:對象A獲得依賴對象B的過程,由主動行爲變爲了被動行爲,控制權顛倒過來了,這就是“控制反轉”這個名稱的由來。

IOC理論的實現方式DI

什麼是DI?

DI依賴注入:是指由IOC容器在運行期間,動態主動地將某種依賴關係注入到對象之中。(DI是一種過程,是指由IOC容器運行中將某種依賴關係注入到對象)

 

·所以,依賴注入(DI)和控制反轉(IOC)是從不同的角度的描述的同一件事情,就是指通過引入IOC容器,利用依賴關係注入的方式,實現對象之間的解耦。

AOP面向切面編程

什麼是AOP?

AOP概念:面向切面編程:擴展功能不修改源代碼實現。

AOP採用橫向抽取機制,取代傳統的縱向繼承體系重複性代碼(性能監視,事務管理,安全檢查,緩存)

Core Container(核心容器)

Beans模塊:

什麼是Beans模塊

Bean工廠bean的裝配,BeanFactory接口使用控制反轉對應用程序的配置、依賴性規範與實際的應用程序代碼進行分離。但是BeanFactory容器實例化後並不會自動實例化Bean,只有當Bean被使用時BeanFactory容器纔會對該Bean進行實例化與依賴關係的裝配。

Core模塊:

控制反轉IoC(Inversion of Control)與依賴注入DI(Dependency Injection)的基本實現,控制反轉是種設計思想,即將你設計好的對象交給容器控制,而不是傳統的在你的對象內部直接控制。

Context模塊:

spring的context上下文,即IoC容器,它擴展了BeanFactory,爲它添加了Bean生命週期管理、框架事件體系、資源加載透明化等功能,此外該模塊還提供了很多企業級支持,如遠程訪問、任務調度等。ApplicationContext是該模塊的核心接口,它擴展了BeanFactory,ApplicationContext容器實例化後會自動對所有的單實例Bean進行實例化與依賴關係的裝配,使之處於待用狀態。

spring-expression模塊:

spring表達式語言,是統計表達式語言(EL)的擴展模塊,可以查詢、管理運行中的對象,同時也方便的可以調用對象方法、操作數組、集合等。最出色的要數函數調用簡單字符串的模板函數

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章