|
Spring框架的应用比较简单,但是Spring项目比较庞大。单单一个SpringFramework项目就比较庞大,整个Spring全家桶更加庞大。现在的主流Javaweb项目基本都使用了Spring技术,甚至会对Spring作深度扩展。
一Spring难在什么地方?
Springframework项目中比较典型的技术就是IOC和AOP,其中IOC的bean的生命周期比较复杂。 针对Spring的源码做扩展也比较复杂。 Springframework项目中提供的组件比较丰富,每个组件都有其对应的功能,能不能合理利用起来Spring提供的组件是考察一个程序员对Spring应用熟悉程度的重要标准。 Spring的源码设计的比较优秀,利用了很多优秀的设计模式,需要考虑如何把这种设计模式利用到自己写的代码中需要好好借鉴、学习Spring源码中作者的思想。
学习Spring或者说学习任何一门技术都需要有规划,清楚自己在学什么,学了之后对自己有没有用。尤其是像Java语言这样系统的程序语言。二Spring学习路线
首先理解整个Spring的技术栈、或者理解Spring全家桶的体系,比如IOC是在Spring全家桶当中的哪个项目,然后针对这个项目的文档去疯狂阅读。 当你能够阅读完Spring的文档之后,就要开始学习Spring的源码。因为Spring太强大了,基本市面上的主流技术都要配合Spring工作。 当你看完Spring源码之后,就需要去动手写一个Spring的中间件了。比如你可以手写一个服务注册中心(类似eureka)然后把你手写的这个服务注册中心的项目和Spring结合起来;这个需要你对Spring源码有比较深刻的理解。 当你能写一个Spring的扩展中间件之后,你便深刻掌握Spring,可以去研究一下Spring源码不足的地方了,和阿里巴巴那些Spring专家一样成为一个领域的神。
学好Spring,可以让程序员写出优秀的代码,更加能够看懂别人写的代码或者一些主流的框架源码;对一个程序员找工作、面试有非常大的帮助。
|