Spring破冰之旅始于足下

字號:

生活在一個信息爆炸的時代是幸福的也是痛苦的,幸福是因為新技術總是層出不窮,痛苦是因為總是處于追趕新技術的旅程中。近兩年Java程序員對此可能深有感觸,Java開源的新旺發(fā)達,使我們始終處于目不暇接的狀態(tài)中,很多同領域技術問題都擁有多個可供選擇的技術框架,而Spring開源框架是其中的佼佼者,已成為企業(yè)應用開發(fā)中使用最多的開源框架。Spring框架的優(yōu)秀不但表現(xiàn)在其優(yōu)雅的底層設計、使用方便快捷、面向工作實踐、超強粘合能力等方面,另外一個不可忽視的方面是Spring擁有一個世界一流且活躍的技術開發(fā)團隊:Spring技術的革新、功能的新增從來就沒有停止過。
    Spring團隊在2006年初就發(fā)布了Spring 2.0的里程碑版本,后來又發(fā)布了多個RC版本,在2006年10月發(fā)布了Spring 2.0的正式版本。正式版本發(fā)布后,又以2.0.x的形式陸續(xù)發(fā)布了5個小版本,在2007年5月發(fā)布了Spring 2.1正式版本。較之于1.x版本,Spring框架發(fā)生了很多重大革新。雖然Spring 2.x是向下兼容的,但是1.x中同類問題已經(jīng)擁有了更簡單更優(yōu)異的實現(xiàn)。對于一個剛剛學習Spring的開發(fā)者而言,拋開1.x版本,直接學習Spring 2.x無疑是的選擇。對于需要從Spring 1.x進行升級的開發(fā)人員而言,也很有必要了解Spring 2.x的許多重大的變化,因為這些變化不但顯著降低了應用開發(fā)的難度,而且代表了技術發(fā)展的方向。
    很多程序員都有這種經(jīng)歷,面對市場上琳瑯滿目的書籍不知該作何選擇,筆者也曾為此犯愁(也多花了不少冤枉錢)。以Spring為例,目前市場上各出版社出版的Spring書籍共有幾十種之多,面對這樣多類似的書籍,你很難做出正確的選擇。不過有經(jīng)驗的人可以通過書中介紹的技術版本,內(nèi)容結構來作出選擇,沒有經(jīng)驗的估計對那些21天速成類的書籍更感興趣,不過我是不會為這種書掏一個大子的,甚至翻一下的興趣都沒有。在我看來程序開發(fā)是一個嚴謹?shù)墓ぷ?,沒有速成道路可走,知其然不知其所以然,是絕對不行的,請記住學習沒有捷徑。
    不過我還是忍不住要說說《精通Spring 2.x--企業(yè)應用開發(fā)精解》,該書的作者我認識好多年了,他給我的印象是治學嚴謹,一絲不茍。從這本書中我們可以看出,作者把自己多年開發(fā)經(jīng)驗融合在其中,可謂集其數(shù)年心血而得,而不是簡單的翻譯外文資料(很多作品是這樣得來的)。更不容易的是基于當前最新的Spring 2.1版本寫就的,是當前市面上和Spring最新版本保持同步的書籍,一點該書就能保證其技術在一年之內(nèi)不會失效。
    首先本書對Spring框架的技術內(nèi)幕進行皰丁解牛般的解構,清晰地講解了Spring框架的各個組成部分。我們知道Spring以IoC和AOP為技術底座,但是對于Spring究竟如何解決IoC和AOP的問題,很少書籍能給出清晰的答案。原因在于這兩個技術涉及到眾多Java高級技術的知識,使用到眾多的Java編程模式,要把這一問題講清楚,首先就得將這些背景技術鋪墊好。對于一本以Spring為主題的書籍來說,如何通過很少的篇幅將這些背景知識傳導給讀者是存在難度的。一般書籍采取回避的做法,本書可貴之處在于不怕啃硬骨頭,它通過不多的篇幅為讀者掃清了理解Spring技術內(nèi)幕的路障。而且背景知識的補充是適時適地的,沒有和相關知識割裂開來,這一點我非常欣賞!另一方面,本書從Spring運作流程和組成構件這兩條主線對Spring IoC和AOP進行了深度的分析,圍繞在Spring框架外面的神秘面紗被層層剝離,Spring機器的外殼被打開,一部有條不紊,分工明確Spring機器的內(nèi)部細節(jié)豁然于讀者的眼前。