Spring 实现IOC过程比较复杂,分析起来需要费一些劲,但如果源码研究透了,对个人编码和设计是很有帮助的。
读源码前我们最好先做下面三件事情:
1、自己画出类图。你也可以看别人画的类图,但是只能作为参考,看别人画的类图总感觉隔着一层纱,不清晰。
2、试着自己抽出所有与IOC相关的源码类。因为spring的源码浩浩荡荡,太多,一下子看会让人心烦,畏惧,不想读。如果你单个模块抽出来会感觉好很多。
3、我们应该先总体把握一下,带着问题去读源码会有趣味些。想想spring IOC实现的总体功能无非帮我们new 对象。它以什么依据来new对象呢,无非xml 注解 这些配置文件。这里我们大概可以推断spring ioc初始化大体过程 :
(1)、load xml 注解
(2)、按配置new出我们想要的对象。