Spring IOC初始化过程
来源:互联网 发布:暗黑破坏神3mac 卡不卡 编辑:程序博客网 时间:2024/06/04 17:48
Spring IOC初始化过程——源码解读
Spring IOC的核心是BeanFactory
其实SpringIOC初始化的过程就是准备好BeanFactory的过程。
(1)定位并获取资源文件
ClassPathResource res = new ClassPathResource("my/applicationContext.xml");
因为对象和对象之间的关系存储在xml或properties等语义化配置文件中,首先要定位到配置文件。用资源加载器ResourceLoader将资源文件路径转换为对应的Resource
(2)解析资源文件
XmlBeanFactory bf = new XmlBeanFactory(res);
步骤:
1.构造BeanFactory时,首先调用的是BeanDefinitionReader类型的reader属性的loadBeanDefinitions()方法,是整个资源加载的切入点。
- 封装资源文件:当进入BeanDefinitionReader后首先对参数Resource进行EncodedResource类进行封装
- 获取输入流:从Resource中获取InputStream并构造InputSource
- 通过构造器的InputSource实例和Resource实例继续调用loadBeanDefinitions.
2.loadBeanDefinition调用doLoadBeanDefinitons方法,完成以下三个方法
- 对XML文档的验证模式
- 用DocumentLoader处理资源文件,生成Document
- 根据返回的Document信息注册bean信息
通过实现接口BeanDefinitionDocumentReader的DefaultBeanDefinitionDocumentReader类的parseBeanDefinitions来解析Document,从xml文档根节点递归循环处理各个节点,实际上使用BeanDefinitionParserDelegate的parseBeanDefinitionElement方法将bean节点转换为BeanDefinitionHolder对象,完成最终的解析
(3)注册
DefaultListableBeanDefiniton.registerBeanDefiniton利用解析好的BeanDefinition对象完成最终的注册。将beanName和BeanDefinition作为键值放到了beanFactory的map中
Spring核心类BeanFactory,框架图
0 0
- Spring IOC初始化过程
- Spring 容器IOC的初始化过程
- Spring IOC容器初始化过程分析
- Spring 框架IOC的初始化过程
- Spring原理-IoC容器初始化过程
- Spring中IOC容器的初始化过程
- Spring IOC容器的初始化过程
- Spring IOC容器初始化过程解析
- Spring IoC容器的初始化过程
- Spring IOC学习心得之IOC容器的初始化过程
- Ioc容器初始化过程
- 【Spring】IOC核心源码学习(二):容器初始化过程
- 【Spring】IOC核心源码学习(二):容器初始化过程
- 【Spring】IOC核心源码学习:容器初始化过程
- Spring IoC容器初始化过程(源码视角)
- Spring IOC容器的初始化过程--资源定位
- Spring IOC容器的初始化过程(1)
- spring-IOC 初始化
- 设计模式_策略模式(Java)
- Android- AsyncTask 总结
- 思科路由器的基本配置(1-1)
- Java中枚举类的简单使用
- Unity手游之路<八>自动寻路Navmesh之入门
- Spring IOC初始化过程
- DB2----SQL语句
- 关于GridView加载和滑动时造成的图片混乱问题总结
- Linux查看日志
- 心情随笔
- 浏览器渲染的流程
- CSS-3D按钮实现实例(二)
- Android:inputType参数类型说明
- 软件工程