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

