SpringIOC的理解,其初始化过程?

发布于:2021-10-17 02:57:51

目录


在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初始化过程

相关推荐

最新更新

猜你喜欢