入門攻略
Spring的基礎思想來源於Rod Johnson的一本著名的j2ee書籍:Expert One-on-One J2EE Design and Development (Programmer to Programmer),在這本書中,Rod根據他自己多年的j2ee開發經驗,提出了眾多新穎的思想,當然如果想看這本書的話,最好看英文版,因為中文版被翻譯的慘不忍睹,看了會幾天吃不下睡不著的......
在上面那本書附帶的代碼基礎上,以Rod Johnson和Juergen Hoeller兩人為核心的一個開發團隊經過努力,於2004年3月份發布了Spring Framework 1.0版,一經發布就引起了業界的強烈關注,目前各種java相關的會議中都有Rod Johnson等人的出現,最近Rod Johnson和Juergen Hoeller兩人合作了一本新書。
Expert One-on-One J2EE Development without EJB也已出版熱銷,可惜的目前國內尚無法看到。目前,Spring Framework已經接近發布1.1 RC1,從Spring的郵件列表看,Juergen Hoeller正在組織最後的修改和測試,估計幾日內就可以看到他們努力的成果。
另外,圍繞在Spring周圍的一些相關項目也在活躍的開展著,其中在Spring Framework首頁上提供連結的Acegi Security System for SpringFramework是其中的佼佼者,該項目的主要目的是為SpringFramework提供安全機制,它充分利用Spring的AOP,採用Spring的風格,很容易讓熟悉Spring的開發人員上手。此外,SpringFramework也開始了.Net版本的開發,當然目前處於起步階段,而且是另外一個團隊在開發。
目前在使用Spring的開發人員中,多數人傾向於Struts+Spring+Hibernate的組合,但經過本人的學習,我感覺Spring提供的 MVC框架更為出色優雅,無須Struts的介入,如果沒有歷史遺留問題的困擾(如已經存在大量Struts代碼或者開發人員已經對Struts非常熟悉),建議採用Spring+Hibernate,再加上Acegi實現認證和授權,將是很不錯的開發框架。
至於開發環境,隨著eclipse3.0的發布,採用這一free的IDE,再加上一些free的plugin,將可以組織出一套非常出色的集成開發環境:eclipse3.0 + XmlBuddy 2.0.10 + Lomboz3.0 + Spring IDE for Eclipse。在Spring的開發團隊中,Rod Johnson是eclipse的支持者,而Juergen Hoeller更喜歡JetBrains的IDEA,目前IDEA已經到了4.5 RCVIII版,比4.0又有了很大的提高,如果有錢的話更推薦使用IDEA。
Spring Framework 是一個 Java/Java EE/.NET 的分層應用程式框架。該框架基於 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一文中的代碼,並最初由 Rod Johnson 和 Juergen Hoeller et al 開發。Spring Framework 提供了一個簡易的開發方式,這種開發方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性檔案和幫助類。
關鍵特性
◆強大的基於 JavaBeans 的採用控制反轉(Inversion of Control,IoC)原則的配置管理,使得應用程式的組建更加快捷簡易。
◆一個可用於從 applet 到 Java EE 等不同運行環境的核心 Bean 工廠。
◆資料庫事務的一般化抽象層,允許外掛程式式事務管理器,簡化事務的劃分使之與底層無關。
◆內建的針對 JTA 和 單個 JDBC 數據源的一般化策略,使 Spring 的事務支持不要求 Java EE 環境,這與一般的 JTA 或者 EJB CMT 相反。
◆JDBC 抽象層提供了有針對性的異常等級(不再從SQL異常中提取原始代碼), 簡化了錯誤處理, 大大減少了程式設計師的編碼量. 再次利用JDBC時,你無需再寫出另一個“終止”模組。 並且面向JDBC的異常與Spring 通用數據訪問對象 (Data Access Object) 異常等級相一致。
◆以資源容器,DAO 實現和事務策略等形式與 Hibernate,JDO 和 iBATIS SQL Maps 集成。利用眾多的翻轉控制方便特性來全面支持,解決了許多典型的Hibernate集成問題。所有這些全部遵從Spring通用事務處理和通用數據訪問對象異常等級規範。
◆靈活的基於核心 Spring 功能的 MVC 網頁應用程式框架。開發者通過策略接口將擁有對該框架的高度控制,因而該框架將適應於多種呈現技術,例如 JSP,FreeMarker,Velocity,Tiles,iText 以及 POI。值得注意的是,Spring 中間層可以輕易地結合於任何基於 MVC 框架的網頁層,例如 Struts,WebWork,或 Tapestry。
◆提供諸如事務管理等服務的面向方面編程框架。
在設計應用程式Model時,MVC 模式(例如Struts)通常難於給出一個簡潔明了的框架結構。Spring卻具有能夠讓這部分工作變得簡單的能力。程式開發員們可以使用Spring的 JDBC 抽象層重新設計那些複雜的框架結構。
下屬產品
Spring 核心產品
Spring Web Flow Web工作流的產品,裡面集成了Spring 的MVC
Spring Security 認證和集成方面的組件
Spring Web Services Web服務的工具類
Spring Batch 執行Java批處理的工具類
Spring Dynamic Modules 動態維護模組的工具類
Spring Integration 集成工具
Spring JavaConfig 配置工具類