一首先Java的基础面向对象的基础和设计模式的基础知识是必不可少的 关于设计模式我觉得不用学太多但以下三个模式是学习Spring必不可少的factory模式(包括简单工厂和抽象工厂)Strategy模式Template method模式如果不掌握这些你就根本没法领悟Spring的精髓只能依样画葫芦地照搬这是很可怕的事
我这里强烈建议的书可能让人有点意外那就是Expert one on one JEE design and development的第四章这一章不仅仅是Spring初学者而是任何搞Java开发的人必读的一章经典!
二接下可以看一些Spring的入门书籍
其实我自己没怎么看过这方面的书我当时只看过Spring的reference不过现在这方面的书好象多的是而Spring reference看起来还是有些吃力的JavaEye上很多人建议夏昕的Spring开发指南据说入门很容易另外的入门书应该是Spring live或Spring in action我大概扫了一下Spring live是一本只讲怎么做而不讲为什么的书我不太喜欢(偶尔参考一下倒不错)不过有些人特别喜欢这样的书看自己的个人爱好吧
三研究几个用Spring做的开源项目
理论还是要与实际结合所以看完书后是要看实际的项目的很多人喜欢appfuse我觉得appfuse花的东西太多真正实质性的内容又太少我更喜欢Spring自带的jpetstore这是一个非常完整的例子看完后Spring的基本用法应该都能掌握
四开始做实际的项目
在上述这些都完备以后我觉得应该要去实际项目中锻炼了当然并不是每人都有这样的机会的这时只能自己做个玩具项目啦项目的锻炼是非常关键的其实每个人都清楚我就不重复了
五继续深入学习
经过项目的锤炼对Spring的用法和原理有了一定的了解的时候才有可能真正掌握Spring的精髓这时要读的书才是Rod Johnson的三本经典名着分别是
Expert one on one Jee design and development
Expert one on one Jee without EJB
Professional Java Development with SpringFramework
前两本书的经典程度我就不说了只有读了它们才能真正了解Spring的设计意图掌握Spring的精髓
第三本书是我强烈不建议初学者读的书里面的东西深入而全但是原理讲解得又不够深很容易让初学者犯迷糊但是却是Spring的高级用户必读的一本书(还有一本pro Spring据说也不错不过我没读过)我过几天会写一下这本书的书评
当然这个阶段与第四阶段是交错的边读书边做项目学到的东西才会更多的
六分析源代码扩展Spring
有人认为没有必要分析Spring的源代码因为这是很累人又不计好的事但是要想成为Spring的高级用户这是必经的阶段在学习的过程中我们学到的不仅是Spring更重要的是他的设计思想不管怎样看牛人的源代码是绝对有好处的不过这是一个很累人的过程要有思考准备哦!