SpringIoC原理
SpringIoC初始化的过程大概可以分为三个步骤:
- 定位
- 加载
- 注册
1. 定位
IoC容器初始化步骤从AbstractApplicationContext.refresh()方法开始,创建BeanFactory对象,根据配置的扫描路径,定位到哪些bean需要被Spring管理。
2. 加载
有了Bean的定位信息,Spring会创建BeanDefinitionReader去读取这些Bean的信息,并封装成BeanDefinition对象。BeanDefinition对象保存的是Bean的配置信息,此时Bean并不会实例化。
3.注册
最后将所有Bean的原配置对象(BeanDefinition)存放到beanDefinitionMap中进行缓存。