領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多為了慶祝 i21 團隊部落格的推出,我藉此機會介紹一本即將出版的 Spring 新書。書名為《Spring 2 初學者指南:從新手到專業人士》,由 Apress 出版。我與 Mark Fisher (i21)、Bram Smeets (DWR 名人) 和 Seth Ladd (《專家 Spring MVC 和 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 的背景下,理解這個可擴充套件點變得越來越重要。
第 3 章涵蓋了*經典的* Spring AOP 框架。我們發現,如果不對讀者溫和地介紹核心 AOP 概念,我們就無法涵蓋新的 Spring 2.0 功能:什麼是問題,什麼是 AOP,它如何解決問題?什麼是 Advice,有哪些不同型別?什麼是代理物件,如何配置其建立?什麼是 Join Point 和 Pointcut。最後,本章展示了一些 Spring 內部使用 AOP 的示例?本章基於 Spring 1.2,為下一章奠定了基礎。
第 4 章可能是我——我相信也是 Ben——最喜歡的一章,因為它涵蓋了 Spring AOP 2.0。Adrian 在 Spring 2.0 參考手冊中寫了一篇出色的章節,介紹了新的 AOP 功能。本章則更加循序漸進。它基於第 3 章中的 AOP 概念,介紹了 Aspect 和 AspectJ Pointcut 語言。它基於 @AspectJ 風格,但也涵蓋了在 XML 中宣告 Aspect 和 Advisor。它還介紹了自動代理建立,這是 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。我們覺得從頭開始*並且*如何與 Spring 一起使用 Hibernate 來正確解釋 Hibernate 會太難。最終,我們改變了主意,認為如果有一些 Hibernate 材料供讀者閱讀會很好。因此,將提供一個線上的獎勵附錄,介紹 Hibernate 的基本思想以及 Spring 如何促進其使用。對於那些還沒有接觸過物件關係對映工具的人來說,這是一個起點。
那麼,本書何時可用?按照目前的計劃,本書將於 10 月底上市。您可以從現在開始預訂。我們希望 Spring 使用者會喜歡這本書。在接下來的幾周裡,我會隨時向您更新我們的進展。