前言
该文章是看视频与书籍,用个人的理解话语完成。所以此文不是很细致,仅是作为关键点记忆。
提示:以下是本篇文章正文内容,内容如有错误,可在评论区回复
一、IOC的流程
1、创建BeanFactory容器
2、使用BeanDefinitionReader解析XML中的Bean定义,生成BeanDefinition到容器中
3、后置处理器BeanFacotryPostProcesser处理增强Bean,比如处理dateSrouce中的${jdbc.url}占位符
4、通过反射,得到实例化后的Bean。
5、Bean的初始化,包括填充属性,执行Aware方法,Bean的前后PostProcesser的处理,得到完整的Bean
6、获得对象。
二、代码角度分析
ApplicationContext ac =new ClassPathXmlApplicationContext("applicationContext.xml");
User user = ac.getBean(User.class);
执行流程
**1、先执行ApplicationContext的refresh(),创建beanFactory容器
2、加载配置文件,解析bean定义信息,封装BeanDefiniton
3、执行BeanFactoryPostProcesser准备工作:准备BeanPostProcesser,广播器,监听器
4、实例化
5、初始化
6、获取对象**
ApplicationContext的子类AbstractApplicationContext的refresh()包含13个子方法
三、图解
其中有部分关键代码。可自行打断点调试。
总结
这里是Eclipse版本的Spring4源码断点文件,跟文章搭配更好哦!
https://download.csdn.net/download/qq_31552775/85711646
参考内容:
- 《精通Spring+4.x++企业应用开发实战》
- B站上的Spring视频