隨筆-10  評論-23  文章-32  trackbacks-0

          1.1 spring是什么?

           

          (1)Spring是什么

          答:spring是一個開源框架,由Rod Johnson創建。Spring是為了簡化企業級應用開發應運而生的。使用Spring可以用簡單的javaBeans實現那些以前只有在EJB中才可以使用的功能。任何Java應用開發都可以從Spring的簡單、可測試、松耦合特征中獲得益處。

          補:在剛接觸spring的時候,也沒有看過spring官方的英文文檔,我以為spring只有在開發WEB項目的時候才可以使用,我所了解的全部關于spring的東西就是,可以使用spring將Struts2和Hibernate整合到一起。

          收獲:spring是一個開源框架,任何Java應用程序都可以使用spring,并且從中獲益。

           

          (2)Spring的基本組成部件

          Spring是一個輕量級的DI和AOP容器框架

          基本組成部件如下:

          1)輕量級               從大小和應用開支上看為輕量級,并且spring是非侵入式的

          2)依賴注入(DI)      一種松耦合技術,或者稱為“控制反轉”。主要思想:對象被動接收依賴類,不主動尋找

          3)面向切面(AOP)    為面向切面編程提供強大支持,目的:分離系統級邏輯功能實現和我們自己的業務邏輯實現,例如將事務功能從業務邏輯中分離出去

          4)容器                 Spring是一個容器,包含和管理Bean的生命周期和配置。但是Spring是輕量級的

          5)框架                 spring提供了很多基礎功能(如事務,持久層集成,安全)。我們使用Spring可以將簡單的組件配置組成一個復雜應用

          總之:使用Spring可以簡化應用程序開發,以及得益于spring松耦合和可測試的優點。

           

          (3)Spring由幾個位于Spring核心容器之上的幾個模塊組成,這種模式特性使用戶可以根據需要靈活使用Spring框架,各個模塊可以選擇使用。

              下圖不是很復雜,可以幫助我們再比較寬的層次上理解Spring的組成。方便記憶。

              Spring framework

              各個模塊簡單介紹如下:

            1. 核心容器(Core)     為Spring框架提供基礎功能,BeanFactroy在這個模塊定義,是“依賴注入”功能的基礎。
            2. Application Context(Context)      應用程序上下文模塊,擴展自BeanFactory,添加了I18N國際化,應用生命周期事件,驗證支持。另外提供了企業級的服務如:電子郵件服務、JNDI訪問、EJB集成、遠程調用、定時服務,支持與其他模板集成。如果BeanFactory是Spring成為容器,ApplicationContext則使spring成為框架。
            3. Spring 的AOP模塊   此模塊對面向切面編程提供強大支持。是spring應用開發切面的基礎,此模塊提供多種方法來建立切面,包括基于AOP Alliance接口的切面建立和對AspectJ的支持。
            4. JDBC抽象及DAO模板  spring的jdbc和dao模板把樣板代碼抽象出來,使數據庫代碼簡單明了,并且建立了一個容易理解的數據庫異常層
            5. ORM映射集成模塊   spring的ORM支持建立在DAO支持之上,spring為許多流行的ORM框架提供了鉤子程序,例如Hibernate,JPA,JDO,Ibatis等
            6. java 管理擴展(JMX)   spring的jmx模塊可以方便的展現應用Bean,就像JMX Mbeans,從而可以監控和重新配置運行中的應用程序。
            7. java EE 連接器 API(JCA)   jca提供了一種標準的方法來集成java應用和多種企業信息系統,包括主框架和數據庫,spring對jca的支持類似于對jdbc的支持,也是抽象樣本代碼到模板中。
            8. spring MVC框架   spring提供了自己的MVC框架,是一個松耦合的基于三層模式的web框架。 
            9. spring portlet MVC 框架   最新的spring版本支持portlet2.0的所有特性。
            10. spring web模塊   spring的web模塊提供了支持spring mvc和spring portlet mvc 的類,還有spring的web模塊提供了對struts和jsf框架的支持。另外此模塊還提供了幾個面向web的任務,例如多部分文件上傳等
            11. 遠程調用   當通過網絡來訪問其他應用時,某些形式的遠程調用將被用于通訊。spring的遠程調用模塊會使編寫遠程對象很簡單,就像使用本地的pojo一樣。spring支持如:rmi,Hessian,Burlap,JAX-RPC,spring自己的HTTP Invoker。
            12. java 消息服務(jms)   遠程調用的下面是取決于網絡的可靠性和通訊雙方的可用性,基于消息的通訊是可靠的。spring的jms模塊可以將消息發送到jms隊列和主題;可以幫助創建消息驅動的pojo,能夠處理異步消息。

             總結:spring盡量避免重新開發所有事情,并傾向于保留現有的API和框架。通過spring可以輕松集成多種框架為一體,并且能夠享受spring帶來的松耦合和可測試特性。

          posted on 2010-04-12 23:09 liuyimx 閱讀(311) 評論(0)  編輯  收藏 所屬分類: 讀書筆記

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 蒙城县| 东乡| 青龙| 阜城县| 罗甸县| 青浦区| 康平县| 齐河县| 犍为县| 遂平县| 泰宁县| 锦州市| 长子县| 富川| 镇安县| 保康县| 长海县| 蓝山县| 永修县| 达孜县| 阳谷县| 务川| 玛纳斯县| 延边| 海兴县| 邵东县| 乡城县| 甘南县| 金塔县| 镇赉县| 巴塘县| 石景山区| 大埔县| 密云县| 乌兰浩特市| 清远市| 永胜县| 呈贡县| 剑阁县| 临清市| 饶阳县|