搶先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多為了慶祝新的 i21 團隊部落格上線,我藉此機會介紹一本即將出版的 Spring 新書。它的標題是“Beginning Spring 2: from Novice to Professional”,由 Apress 出版。我與 Mark Fisher (i21)、Bram Smeets(因 DWR 而聞名)和 Seth Ladd(因《Expert Spring MVC and Web Flow》而聞名)共同撰寫了本書。Rob Harrop 擔任技術審稿人。
正如你可能猜到的那樣,本書面向 Spring Framework 的初學者。Spring 有趣之處在於,你總會在某些領域是個新手。這個框架提供了太多的特性和整合,你不可能全部瞭解(Juergen 除外)。
這就是我們對“初學者”一詞沒有過於嚴格要求的原因。當然,這本書確實向那些在書店拿起這本書,之前完全沒聽說過 Spring 的人介紹了 Spring Framework。而且,Spring 的初學者通常不是 Java 的初學者。由於書中也涵蓋了許多新的 Spring 2.0 特性,幾乎所有 Spring 使用者——當然還有 Ben Hale——都會覺得至少有一些章節很有趣。
我們採取瞭解決問題和提供實用建議的方法。在每一章中,我們都會闡述開發人員在相關領域通常面臨的挑戰,並結合示例討論一些常見的陷阱。接下來,我們將介紹 Spring 提供的解決方案,以及讀者如何透過在應用程式中使用這些方案而受益。我們發現,先闡述問題,再討論 Spring 解決方案,可以更容易地掌握 Spring 中的思想並理解其解決方案的價值。
因此,我相信對於那些已經在專案中使用 Spring 一段時間,但從未真正有機會退後一步思考解決方案背後問題的人來說,這本書會很有價值。
以下是章節大綱
第 1 章是現代應用程式開發的介紹。它概述了配置的挑戰以及將架構限制在狹隘程式設計模型的危險。它介紹了依賴查詢和依賴注入等概念,並將 Spring 置於 JEE 技術的背景下進行闡述。它介紹了框架的核心價值:整合、改進、增加一致性、使其更易於使用、提供文件並提高標準。
第 2 章介紹了 Spring 容器及其 XML 配置檔案。本章內容相當廣泛,介紹了 Spring 使用者可用的靈活性。例如,相當詳細地介紹了 FactoryBean 和工廠方法的使用,因為它們可以為應用程式增加很多靈活性。書中還介紹了 bean 的生命週期,因為在 Spring 2.0 釋出後,理解這一可擴充套件點對於 Spring 使用者來說變得更加重要。
第 3 章涵蓋了經典的 Spring AOP 框架。我們發現,如果不先溫和地向讀者介紹 AOP 的核心概念,就無法涵蓋新的 Spring 2.0 特性:什麼是問題,什麼是 AOP,它是如何解決問題的?什麼是通知(Advice),有哪些不同型別?什麼是代理物件(Proxy object),如何配置它們的建立?什麼是連線點(Join Point)和切入點(Pointcut)?最後,本章展示了 Spring 如何在內部使用 AOP 的一些示例。本章基於 Spring 1.2,並作為下一章的起點。
第 4 章可能是我——我相信也是 Ben——最喜歡的一章,因為它涵蓋了 Spring AOP 2.0。Adrian 在 Spring 2.0 參考手冊中就新的 AOP 特性寫了一篇出色的章節。本章進展較慢。它基於第 3 章的 AOP 概念,並介紹了切面(Aspects)和 AspectJ 切入點語言(Pointcut language)。它基於 @AspectJ 風格,但也涵蓋了在 XML 中宣告切面和通知器(Advisors)。它還介紹了自動代理建立(Auto Proxy Creation),這是 Spring 2.0 的一個關鍵特性,儘管在 Spring 1.x 中就已經存在。本章是所有 Spring 使用者必讀的一章。
書的附錄提供了第 2、3、4 章的練習,這些練習提供了額外的背景資訊,並幫助讀者獲得 Spring 的實踐經驗。
第 5 章是關於資料訪問的介紹。當我第一次寫這一章時,它相當簡短,介紹了 Spring 的資料訪問框架。後來我意識到,讓使用者更好地理解資料訪問面臨的挑戰會很有趣。所以我重寫了這一章,現在它的一半內容涵蓋了典型的資料訪問問題:管理資料庫資源、資料訪問異常問題、事務管理問題以及資料訪問對應用程式的整體影響。接下來,它涵蓋了 Spring 如何解決這些各種問題,以及如何在應用程式中找到合適的資料訪問位置。
第 6 章介紹瞭如何在應用程式中使用 JdbcTemplate 透過 SQL 在資料庫中插入、更新、查詢和刪除資料。
第 7 章是 Spring 事務管理在應用程式中的實踐入門。它還涵蓋了 Spring 2.0 中簡便的事務管理配置。你知道 Spring 2.0 提供了 6 (!) 種配置事務管理的方式嗎?這就是靈活性!
第 8 章實踐性地介紹了 Spring MVC。它概述了典型的 Web 層,然後介紹了 Spring MVC 的元件。本章包含三個示例,從分頁只讀列表到複雜的表單處理。對於希望深入瞭解 Spring MVC 的現有 Spring 使用者來說,這是一個很棒的章節。它還涵蓋了 Spring 2.0 的 JSP 表單標籤。
第 9 章是實踐章節,涵蓋了 Spring MVC 支援的一些檢視技術,如 JSTL、Velocity、Freemarker、XSLT、PDF、Excel 和 JasperReports。
最後,第 10 章涵蓋了測試。它強調了測試的重要性,以及用於編寫整合測試(有些人稱之為功能測試)的 JUnit、EasyMock 和 Spring 類。
在本書中,我們使用了一個示例應用程式,用於管理網球俱樂部和網球錦標賽的許多方面。我們認為,如果讀者和 Spring 社群能夠接觸到一個合理複雜的示例應用程式,那會很好。這為我們提供了一個很好的方式來分享我們關於 Spring 如何融入實際應用程式的想法。我們仍在努力完成這個示例應用程式,但我現在就可以告訴你,它將包含大量關於我們選擇使用的設計和配置的額外閱讀材料。
正如你可能注意到的,本書沒有涵蓋 Hibernate。我們覺得從頭開始恰當地解釋 Hibernate 並且解釋如何將其與 Spring 一起使用會太困難。最後,我們稍微改變了主意,認為如果能為讀者提供一些 Hibernate 材料會很好。因此,將有一個線上可用的額外附錄,介紹 Hibernate 的基本思想以及 Spring 如何促進其使用。對於那些在物件關係對映工具方面尚未入門的人來說,這是一個起點。
那麼這本書什麼時候出版呢?根據目前的安排,這本書將在 10 月底上市。您現在就可以預訂。我們希望 Spring 使用者會喜歡這本書。我會在未來幾周向您彙報我們的進展。