Spring系列(一)——簡介

引言:

               學習要有全局觀,不觀全局者,不足某一域!

概述:

               Spring是一個輕量級開源的java開發框架。也有人稱之爲輕量級容器架構。更爲通俗的講,String相當於一個大的工廠類。

內容:

              一 組件解釋:

                 談到Spring框架,大家都熟悉一幅圖:圖中的這些部分可以看做是Spring的組件也可以認爲是Spring不同分層的模塊。

            

             想要全面的理解Spring,這些組件的概念是必須瞭解的,小編爲大家一一解釋一下:

             1 Core:spring框架中最底層核心的模塊,稱之爲核心容器或者IOC容器。主要功能實現了控制反轉與依賴注入、Bean配置以及加載,核心思想爲工廠模式。

             2 AOP:Spring對AOP的支持,Spring中的AOP代理由Spring的IOC容器負責生成、管理,其依賴關係也有IOC容器負責管理。AOP代理可以直接使用IOC容器中的其他bean實例爲目標,由IOC容器的依賴注入提供。

             3 DAO:提供JDBC、事務以及DAO層的支持,簡稱數據訪問層,主要用來訪問數據庫數據,緩衝數據,提供檢索數據的方法。

             4 ORM:提供Hibernate、JPA、TopLink、JDO、OJB、IBatis的支持,就本身而言是一種模式,稱之爲對象關係映射,一般用於數據持久層,將數據關係轉換爲java對象。

             5 JEE:在spring框架稱之爲Spring上下文,可以看作爲一個配置文件,向Spring提供上下文信息,也包括一些企業級服務:JNDI、EJB、電子郵件等服務。

             6 Web:Web上下文模塊建立在應用程序上下文模塊上,爲應用程序提供了上下文。Web模塊還簡化了處理多部分請求以及將請求參數綁定到域對象的工作。

               二 特徵表現:

              控制反轉:對象不通過自己創建或從容器中查找依賴來關聯對象,而是容器在初始化時不等對象請求就主動將依賴傳遞給它。

              面向切面:一些獨立的服務與業務邏輯分離,例如事務服務,java對象只完成業務邏輯,不關心獨立服務的工作。

              AOP容器:負責管理Bean的配置和生命週期以及創建與相互關聯。

              MVC:Spring將控制器的職能更加細化,通過前端控制器、處理器映射器、處理器適配器、處理器、視圖解析器以及視圖View和Model各個組件的配合,體現了系統性的分層思想,更加弱化了傳統MVC模式的耦合強度,提高了編程人員的開發效率。

              三 特點優點:

              1 特點:(1)方便解耦,簡化開發:通過IOC容器,對象之間的關係由Spring進行控制,避免硬編碼導致的高度耦合,通過配置文件與依賴注入的方式,簡化了數據持久層的代碼編寫,提高了編程人員的開發效率。

                            (2)AOP支持:通過支持AOP容器,方便進行面向切面的編程,許多不合適用OOP實現的服務功能可以通過AOP實現,例如數據庫的安全驗證等服務功能。

                            (3)聲明式事務的支持:之前事務管理代碼,需要在用的類中重複編寫,在Spring中,通過聲明式方式進行事務的管理,提高了開發效率和質量。

                            (4)方便程序的測試:Spring對Junit4支持,可以通過註解方便的測試Spring程序。

                            (5)方便集成各種優秀框架:spring對許多優秀的框架(例如hibernate、Struts等)提供了直接支持,降低了優秀框架的使用難度。

              2 優點:(1)低侵入性,代碼簡潔

                            (2)獨立於各種應用服務器

                            (3)依賴注入(DI方式)降低了業務對象替換的複雜性,降低了組件的耦合度

                            (4)AOP支持將通用服務如安全、事務、日誌等進行集中式管理,從而提高了代碼複用率

                            (5)ORM和DAO提供第三方持久層框架的支持,簡化了底層數據的訪問

                            (6)spring不強制應用完全依賴於Spring,開發者可自由選用Spring框架的部分或全部            

               四 爲什麼提出:

               提出背景:Java EE系統框架出現了臃腫、低效、脫離現實的種種現狀,爲了改善傳統架構的存在問題的局面。

               Spring好處:Spring將分層思想融入傳統的系統架構,降低了傳統架構的耦合性,同時獨立於各種應用服務器,不受應用服務器版本的約束,而且與各大優秀框架無縫整合,簡化了開發人員的編程任務,提高了軟件開發效率。

總結:

              Spring框架學習的核心就是各大組件的學習,其中IOC、AOP、以及DAO等無疑更加重要,spring框架也成爲了高級開發人員必備的素質之一。

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