投入 Java 工作

最近我的工作,所用的技術,需要轉投入到 Java 的圈子。

回想到過往曾經參與的 Java 網頁架構: JBoss , Struts 2 , Hibernate , Apache Tiles , JSP , JSTL , Expression Language 。但整體來說,我都有些承接維護現有架構的經驗,且現有架構有什麼,就照著上網查各種問答,來拼貼自己心裡的零碎知識。

一個月之前,當我面對應當要採取 Java 技術的關頭,心裡浮現出一些困難的感覺。那感覺,我想,是來自於 eclipse 這個整合開發環境,在它之下,其他被整合的工具包含 Spring , JBoss , Maven , Ant , Grail 等等,都叫得出名字,卻看不清楚整體。

目標要學會 Spring MVC 。

怎麼學?要我看 “Spring in Action" 或者《王者歸來﹍》之類的書本,倒不如讓我辭職了吧,那些書都是新手指南。而我要學的是整體的觀點。

而剛開始,一翻到第四版的 “Pro Spring" 與《Spring Internals:完整解析Spring 架構與設計原理》之類的書本,真是看不懂。網路上, https://spring.io/docs 的指南或查詢手冊種類繁多,字數也多,不知道從何處下手閱讀;若要從 “Spring Framework Reference Document" 開始,則要閱讀到第 21 章,才是講 MVC ,而且不容易看懂。

後來,先去學校圖書館讀幾本有關 JSP 與 EJB 的舊書,漸漸理解 Java 平台的結構。然後,從 Bruce Tate 的書本開始,我開始能讀得懂 Spring 技術。

現在隨便翻出同事所寫的 Java 程式的各種來路的設定檔,也都看得懂了。

以下是我這一個月的熟習書單:

  1. 劉京華,《王者歸來 – Java Web 整合開發》
  2. 羅時飛,《精通 Spring Framework》
  3. Bruce Tate ,《Spring 高手祕笈》 (“Spring: A Developers Notebook“)
  4. Bruce Tate ,《輕快的好 Java 》 (“Better, Faster, and Lighter Java“)
  5. Sonatype Company, “Maven: The Definitive Guide
  6. Chris Schaefer, Clarence Ho, Rob Harrop, “Pro Spring“, 4th edition

前二本,只讀了開頭一部分,複習了 Servlet 、 JSP 、 Java Model2 架構、 JSTL 等等技術,不但補滿完整的 Java 平台的開頭知識,並且也額外獲得 EJB 的觀念。

Bruce Tate 的書,指出 EJB 的複雜給予軟體工程師沈重的負擔,而他的意見是用 Rod Johnson 的 Dependency Injection 風格來幫忙解套。這本書非常精練,值得收藏。但可惜 Tate 後來再寫了包括《輕快的好 Java 》等二本 Java 書之後,就轉往 Ruby 等其他技術了。

Maven: The Definitive Guide" 很重要,提供了一套清楚的版本維護及專案管理的操作技術。我寧願在命令行介面中操作 maven ,也不想要去 eclipse 裡整合操作。

經過以上書本的瀏覽,我回頭能看懂 “Pro Spring" 第四版了。這本書寫得很好,雖然有將近 700 頁,但是值得從頭一次閱讀到尾,獲得 Spring 架構的全部理解。

對於學習的目標 Spring MVC,也有清楚的釐清。

在未學習的時候,我認為 Spring MVC 是一則需要有專書的專題。可是,在書店的中文書櫃,以及在網路書店瀏覽英文書本清單,卻都找不到 Spring MVC 的專書。為什麼?

現在我知道: MVC 只是網頁前端技術的細緻劃分,因此,想學 Spring MVC ,就要先忘掉 MVC ,而先問「何謂 Spring 」,先理解 Spring 對 Java 平台的意義。

廣告

About 黃耀賢 (Yau-Hsien Huang)

熱愛 Erlang ,並且有相關工作經驗。喜歡程式語言。喜歡邏輯。目前用 Python 工作。
本篇發表於 Uncategorized, Web Programming 並標籤為 。將永久鏈結加入書籤。