IoC容器的初始化过程
2016-04-30 15:22
218 查看
第一个过程是Resource定位过程。
这个Resource定位指的是BeanDefinition的资源定位,它由ResourceLoader通过统一的Resource接口来完成,这个Resource对各种形式的BeanDefinition的使用都提供了统一接口。对于这些BeanDefinition的存在形式,相信大家都不会感到陌生。比如,在文件系统中的Bean定义信息可以使用FileSystemResource来进行抽象;在类路径中的Bean定义信息可以使用前面提到的ClassPathResource来使用,等等。这个定位过程类似于容器寻找数据的过程,就像用水桶装水先要把水找到一样。第二个过程是BeanDefinition的载入。
这个载入过程是把用户定义好的Bean表示成IoC容器内部的数据结构,而这个容器内部的数据结构就是BeanDefinition。下面介绍这个数据结构的详细定义。具体来说,这个BeanDefinition实际上就是POJO对象在IOC容器中的抽象,通过这个BeanDefinition定义的数据结构,使IoC容器能够方便地对POJO对象也就是Bean进行管理。第三个过程是向IoC容器注册这些BeanDefinition的过程。
这个过程是通过调用BeanDefinitionRegistry接口的实现来完成的。这个注册过程把载入过程中解析得到的BeanDefinition向IoC容器进行注册。通过分析,我们可以看到,在IoC容器内部将BeanDefinition注入到一个HashMap中去,IoC容器就是通过这个HashMap来持有这些BeanDefinition数据的。相关文章推荐
- linux命令英文缩写的含义(方便记忆)
- Git学习9:Git远程版本库
- python day2:python 初识(二)
- 期末总结
- Fiddler系列之修改host
- HDOJ(HDU) 2097 Sky数(进制)
- 富文本编辑器
- HDOJ(HDU) 2097 Sky数(进制)
- C/C++中extern关键字详解
- java抽象类
- PHP基础数组操作(二)
- thinkPHP的<eq>标签
- oracle用户创建及权限设置及表空间
- Java构造和解析Json数据的两种方法详解二
- swift2.0 学习笔记eight
- python学习之旅之python简单命令
- xcode crash分析方式
- 合并两个有序单链表,合并后依旧有序
- 42. Trapping Rain Water
- Usage: gij [OPTION] ... CLASS [ARGS] ... to invoke CLASS.main, or