Spring 2.x框架學習(連載)-瞭解Spring基礎 – JAVA編程語言程序開發技術文章

前言:


本塊文章會通過連載的方式來深入瞭解和學習Spring相關核心技術和實現原理。包括Spring的Bean生命周期管理,聲明性事務管理,AOP管理,註解應用實現,以及在其上面進行擴展的相關應用進行介紹。


本篇技術文章將作為Spring入門篇。


什麼是Spring開發框架?


Spring 是一個基於Java/JavaEE的應用開發平臺。其實現是由作者Rod Johnson在2002年出版《Expert One-on-One J2EE Design and Development》一書後,總結經驗後,研發而成。
Spring的核心內容包括:
1. 輕量級的容器, 提供集中式,自動配置與裝配應用業務對象功能。


Spring提供瞭管理業務對象的一致方法並且鼓勵瞭註入對接口編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用POJO對象管理的 Inversion of Control(控制反轉)容器,提供非侵入的方式為當前一些復雜的系統應用提供松耦合,一致性的業務對象配置管理。容器以快捷開發為出發點,方便開發中 的可測試性和部署時的可擴展性為目的。實現隻針對單個業務組件在獨立環境的下進行開發與測試,在部署時再集成到任意的Java SE或Java EE環境中。


2. 提供瞭唯一的事務管理抽象,基於插件式的事務管理(聲明性事務管理)能夠很容易的實現事務層管理,而無需瞭解各種底層事務實現,例如JTA或者 JDBC事務提供一個一致的編程模型。相對於隻依賴Java EE環境的普通的JTA或EJB CMT方式, Spring就更簡單輕便瞭。


3. 提供瞭唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進瞭效率(大大減少瞭開發的代碼量)並且減少瞭可能的錯誤。基於JDBC的異常信息也是完全遵循Spring的公共DAO異常層級。


4. Spring的數據訪問層集成瞭Toplink, Hibernate, JDO, and iBATIS SQL Maps等 O/R mapping解決方案,其目的是提供統一的DAO支持類實現和事務管理策略。尤其Hibernate對SpringIOC特性的支持,能更好的實現集 成,以更好的利用Spring的公共事務與DAO異常層級。


5. Spring提供瞭一個用標準Java編寫的AOP框架(也能集成AspectJ),提供基於POJOs的聲明式的事務管理和其他企業事務–如果你需要 還能實現你自己的aspects。這個框架足夠強大,使得應用程序能夠拋開EJB的復雜性,同時享受著和傳統EJB相關的關鍵服務。當然也可以選擇不支持 JTA方式的開發,尤其如不支持JTA的Tomcat服務器下開發單數據庫應用。


6. 提供可以與IoC容器集成的強大而靈活的MVC Web框架. 其本身通過提供策略接口與多視圖支持技術(如JSP, Velocity模塊引擎, Tiles, iText和POI)實現框架的高可配置性。 Spring作為中間層也可以很容易的與其它第三方web MVC框架實現集成,如Struts,WebWork,Struct2(Struts與WebWork的集成)和Tapestry.


Spring bean對象生命周期管理


Spring bean對象的生命周期管理包括Bean的創建裝配和Bean的銷毀兩個過程。在瞭解Spring bea

發佈留言