IOC初始化过程和ApplicationContext
一、IOC容器初始化过程
- BeanDefinition的Resource定位
- BeanDefinition的载入
- BeanDefinition的注册
1.1、步骤
读取资源文件为InputStream --> 转为Resource -> Document -> 解析元素节点封装为 BeanDefinition -->放入IOC容器中,即DefaultListableBeanFactory的 Map<String, BeanDefinition> beanDefinitionMap
1.2、IOC时序图
二、 ApplicationContext
我们将使用ApplicationContext讲解IOC容器初始化过程。具体的IOC容器是
1. XmlBeanFactory
2. FileSystemXmlApplicationContext。
2.1、 ApplicationContext 继承关系图
2.2、 ApplicationContext 对于bean的查找
ApplicationContext允许上下文嵌套,通过保持父上下文可以维持一个上下文体系。
对于bean的查找首先检查当前上下文,其次是父上下文,逐级向上,为不同的Spring应用提供了一个共享的bean定义环境。