完成《Spring 入門指南 2:從新手到專業人士》

工程 | admin | 2006 年 8 月 3 日 | ...

為了慶祝新的 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 使用者會喜歡這本書。我會在未來幾周向您彙報我們的進展。

獲取 Spring 新聞通訊

訂閱 Spring 新聞通訊以保持聯絡

訂閱

搶先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲取支援

Tanzu Spring 透過一個簡單的訂閱提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

即將舉辦的活動

檢視 Spring 社群所有即將舉辦的活動。

檢視全部