笨笨熊.java

          笨笨熊的JAVA學習筆記

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            5 Posts :: 0 Stories :: 32 Comments :: 0 Trackbacks

          1.什么是Spring Framework?
              Spring Framework(簡稱Spring)是根據Rod Johnson著名的《Expert One-on-One J2EE Design and Development》而開發的J2EE應用程序框架。目前主要根據Rod Johnson和Juergen Hoeller而進行開發的,目前發布的最新版為1.1.4。    Spring是J2EE應用程序框架,不過,更嚴格地講它是針對Bean的生命周期進行管理的輕量級容器(Lightweight container),可以單獨利用Spring構筑應用程序,也可以和Struts,Webwork,Tapestry等眾多Web應用程序框架組合使用,并且可以與Swing等桌面應用程序API組合。所以Spring并不僅僅只能應用在J2EE中,也可以應用在桌面應用及小應用程序中。針對Spring開發的組件不需要任何外部庫。
          2.使用Spring有什么好處?
               (1)Spring能有效地組織你的中間層對象。
               (2)Spring能消除在許多工程中常見的對Singleton的過多使用。
               (3)Spring能消除各種各樣自定義格式的屬性文件的需要,使配置信息一元化。
               (4)Spring能夠幫助我們真正意義上實現針對接口編程。
               (5)在Spring應用中的大多數業務對象沒有依賴于Spring。
               (6)使用Spring構建的應用程序易于單元測試。
               (7)Spring支持JDBC和O/R Mapping產品(Hibernate)
               (8)MVC Web框架,提供一種清晰,無侵略性的MVC實現方式。
               (9)JNDI抽象層,便于改變實現細節,可以方便地在遠程服務和本地服務間切換。
              (10)簡化訪問數據庫時的例外處理。
              (11)Spring能使用AOP提供聲明性事務管理,可以不直接操作JTA也能夠對事務進行管理。
              (12)提供了JavaMail或其他郵件系統的支持。
          3.什么是輕量(Lightweight)級容器?
              Spring的開發者可以避免使用重量級容器開發EJB時的缺點:
              (1)帶有侵略性的API。(代碼依賴于EJB)
              (2)對容器的依賴。(代碼不能在EJB容器之外工作)
              (3)提供固定的一組機能,不具有配置能力。
              (4)不同的產品,部署過程不同,不易通用。
              (5)啟動時間長。
              針對以上問題,Spring采用了IoC使代碼對Spring的依賴減少,根據Web應用,小應用程序,桌面應用程的不同,對容器的依賴程度也不同。Spring將管理的Bean作為POJO(Plain Old Java Object)進行控制,通過AOP Interceptor能夠增加其它的功能。
              除了Spring以外的輕量級容器還有PicoContainer,(不是輕量級容器)對Bean的生命周期進行管理的還有Apache Avalon Project的Avalon等。

              總結:Spring的核心思想便是IoC和AOP,Spring本身是一個輕量級容器,和EJB容器不同,Spring的組件就是普通的Java Bean,這使得單元測試可以不再依賴容器,編寫更加容易。Spring負責管理所有的Java Bean組件,同樣支持聲明式的事務管理。我們只需要編寫好Java Bean組件,然后將它們“裝配”起來就可以了,組件的初始化和管理均由Spring完成,只需在配置文件中聲明即可。這種方式最大的優點是各組件的耦合極為松散,并且無需我們自己實現Singleton模式。 

          posted on 2005-09-21 22:17 笨笨熊 閱讀(428) 評論(1)  編輯  收藏

          Feedback

          # re: Spring Framework的基本概念 2007-10-16 21:21 請輸入你的姓名
          1422  回復  更多評論
            


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


          網站導航:
           
          主站蜘蛛池模板: 赤城县| 疏勒县| 南靖县| 铁岭市| 普洱| 广河县| 晋宁县| 漳浦县| 阳山县| 文登市| 建瓯市| 木兰县| 阜平县| 临武县| 三河市| 微山县| 井冈山市| 耒阳市| 义乌市| 北川| 仁化县| 微山县| 南丰县| 迁安市| 东兰县| 永安市| 绵竹市| 佳木斯市| 洱源县| 襄汾县| 郯城县| 华坪县| 抚顺市| 大姚县| 娄底市| 东兴市| 攀枝花市| 安泽县| 阿巴嘎旗| 营口市| 尚志市|