对前面5篇的文章进行总结一下,因为是第一次看spring的源码,说实话,看起来确实很复杂,但是也能有一点收获,我可能探究的不够深入,但是至少了解了大致的流程。那么接下来就大致总结一下流程。
(1)首先是通过Resource进行配置文件的读取,得到流。
(2)对配置文件进行校验,验证通过过后之后得到解析之后的document。
(3)将document转换为持有xml信息的beanDefinition。
(4)通过for循环处理beanDefinition(解析每个标签)
(5)通过beanDefinition去获取bean。
(6)若是缓存中,首先取出该bean,如果该bean是个beanFactory,那么就会通过getObject去获得真正的bean,若是真正的bean,那么直接返回。
(7)如果缓存当中没有,那么就会将通过application classLoader 来加载类信息,通过newInstance来生成对象,如果该bean是单例的话,那么就会放入缓存当中。