關於Spring學習的一些建議
經典書籍
Spring
的作者 Rod Johnson
直接鋪墊了 Spring
的精髓和基因,Rod Johnson
的思路和編程理念即Spring
的思想和理念。
優先推薦閱讀Rod Johnson
的兩本著作:
1.《Expert One-on-One J2EE Design and Development》
改書首次出版於2002年是Rod Johnson
獨立創作,裏面介紹了Rod Johnson
對於EJB
和企業級
應用開發的觀念。
該書介紹了一個小系統的實現思路,這個小系統的代碼即Spring
的前身代碼。
這本書出版前,Spring
還未誕生,但是其設計思想被Spring
繼承和發揚。Spring Dao
包的DataAccessException
類的Api Doc上很明確的推薦閱讀這本書的第9章來理解Spring Dao
包(尤其是異常層次結構)的設計思路。
這本書的中文版翻譯很爛,而且也不太容易找到高清中文版,有能力的推薦閱讀英文原版。
2.《Expert One-on-One J2EE Development With EJB》
這本書是Rod Johnson
和人合著的書籍,屬於Expert One-on-One J2EE Design and Development
的續作。
另一位作者Juergen Hoeller
也是Spring
方面的大牛,現任Spring
框架負責人,Spring
的共同創始人。
這本書首次出版於2004年,當時Spring 1.0
已經問世,這本書前面的章節基本上在吐槽EJB
,後面的章節介紹了Spring
在IoC
/AOP
等方面的設計思路和用法。
權威文檔
Spring
方面最最權威的文檔應該是Spring Reference
,Spring
網站有各個版本的參考文檔的下載地址,中文版都是網上翻譯的,建議參考英文原文文檔。
結合Spring
源碼和Reference
來研究Spring
框架比讀各種其他書籍要更深刻。
不是不推薦閱讀其他書籍,Spring方面的經典書籍很多,但是歸根結底還是自己能閱讀源碼更重要,甚至很多經典書籍比
Rod Johnson
自己寫的書都要好,看自己的學習習慣。各版本的參考文檔的下載地址:https://docs.spring.io/spring/docs/
關於版本
研究Spring
框架一定要明白自己在閱讀什麼版本的代碼,不同版本的代碼產生的時代,支持的功能特性不同。
個人推薦可研究
4.X
代碼:
4.X
以前代碼有點老,容易跟不上時代;5.X
變動很大,要求必須是JDK 1.8
以上,很多新功能用不上不容易理解代碼爲什麼這麼寫;- 當前全面使用
5.X
的公司不多,4.X
是個比較好的選擇;
各版本的變更內容
1.X
:所有模塊都在一個工程裏面,最核心的是BeanFactory
/AOP
/DAO
的實現,這個版本的代碼很好看懂;2.X
:所有模塊仍然在一個工程裏面,增加了註解的支持,工程也開始走向模塊化;3.X
:工程被模塊化拆分,每個模塊單獨提供jar包,支持了JavaConfig的方式;4.X
:工程上看似和3.X上差不多,在內容上框架開始全面支持JDK 1.8及Java的新發展方向;5.X
:僅支持JDK 1.8以上工程,引入 Kotlin、WebFlux等功能特性;
關於EJB
Spring
和EJB
沒有絕對關係和聯繫,但是Spring
的產生背景即J2EE
開發起來規範大於落地,EJB
各種臃腫的模塊備受作者吐槽。
如果對EJB
有一定了解,對Spring
的學習更容易達到醍醐灌頂
的效果,沒有精力也不推薦學習EJB
。如果你精力和時間充沛,建議稍微瞭解下。
更正
本人也沒有經歷過從EJB
到Spring
的混亂開發時代,現在還在一線開發領域的RD
,應該也沒有幾個經歷過這些變革了。
沒有EJB
的實際痛點的經歷,對Spring
的設計精髓
和其對J2EE
的貢獻自然感受會少很多。
如果以上內容有錯誤,還請相關經驗者給予斧正。
下載地址
下面的地址是整理好的,相關的經典書籍(中文、英文版),如有版權問題,請聯繫CSDN直接刪除。