本文主要是介绍SpringIOC的理解,其初始化过程?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
在spring IOC容器的设计中,有两个主要的容器系列。
使用IOC容器的步骤:
IOC容器的初始化过程:
参考资料:
在spring IOC容器的设计中,有两个主要的容器系列。
1.实现BeanFactory接口的普通容器系列(只实现了容器最基本的功能)。
2.ApplicationContext应用上下文,作为容器的高级形态,在普通容器的基础上,增加了许多面向框架的特性,并对应用环境作了很多适配。
SpringIOC容器的具体实现,需要满足BeanFactory接口定义。
Spring通过定义BeanDefinition来管理Spring应用中的对象以及对象之间的依赖关系。
使用IOC容器的步骤:
1.创建IOC配置文件的抽象资源,这个抽象资源包含了BeanDefinition的定义信息。
2.创建一个BeanFactory(如:DefaultListableBeanFactory)。
3.创建一个载入BeanDefinition的读取器(如:XmlBeanDefinitionReader)。
4.从定义好的资源位置读入配置信息,然后由XmlBeanDefinitionReader负责解析。完成载入和注册Bean之后,IOC容器就建立完成了。
ClassPathResource res = new ClassPathResource("bean.xml");
DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(factory);
reader.loadBeanDefinitions(res);
IOC容器的初始化过程:
- Resource定位过程。指的是BeanDefinition的资源定位。
- BeanDefinition的载入。把定义好的Bean表示成IOC容器内部的数据结构,这个容器内部的数据结构就是BeanDefinition。BeanDefinition值POJO对象在IOC容器中的抽象。
- IOC容器注册这些BeanDefinition的过程。通过调用BeanDefinitionRegistry接口的实现来完成的。
(注册过程:把载入过程中解析得到的BeanDefinition向IOC容器中进行注册。在IOC容器内部将BeanDefinition注册到一个HsahMap中,IOC容器就是通过这个HashMap来持有这些BeanDefinition数据的。)
参考资料:
Spring IOC初始化过程——源码解读
Spring容器IOC初始化过程
这篇关于SpringIOC的理解,其初始化过程?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!