spring中容器和对象的创建流程
容器和对象的创建流程
1.先创建容器
2.加载配置文件,封装成BeanDefinition
3.调用执行BeanFactoryPostProcessor
准备工作:
准备BeanPostProcessor
准备监听器,事件,广播器(观察者模式)
4.实例化
5.初始化
6.获取到完整对象
BeanDefinition:是指将配置文件中的信息加载封装为一个对象进行保存,这个对象记录的是描述配置文件的信息,这个对象就是BeanDefinition。
实例化:新创建的对象的属性值一开始都是默认值,其属性还未被赋值。
BeanFactoryPostProcessor:是BeanFactory的后置处理器(也叫做增强器),其主要作用是对BeanDefinition进行一些功能增强,比如对占位符的解析,以及可以实现这个接口去设置BeanDefinition的属性值。