关于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直接删除。