Bean 的生产过程

2017-08-05  本文已影响18人  zlb

Spring 容器从加载配置文件到创建出一个完整的Bean 的作业流程及参与的角色

Bean

(1),ResourceLoader 从存储介质中加载Spring配置信息,并使用Resource表示这个配置文件资源

(2),BeanDefinitionReader 读取 Resource 所指向的配置文件资源,然后结项配置文件。配置文件中的每个<Bean> 解析成一个 BeanDefinition 对象,并保存至 BeanDefinitionRegistry 中去

(3),容器扫描 BeanDefinitionRegistry 中的 BeanDefinition, 使用 Java 反射机制 识别出 Bean 后置处理器(实现BeanFactoryPostProcessor 接口的Bean),然后调用这些Bean工厂后处理器对BeanDefinitionRegistry 中的 BeanDefinition 进行加工处理,主要完成两项工作:

(4),Spring 容器从BeanDefinitionRegistry 中取出加工后的BeanDefinition ,并调用 InstantiationStrategy 着手进行Bean 实例化的工作

(5),在实例化Bean 时,Spring 容器使用 BeanWrapper 对Bean 进行封装,完成Bean 属性的注入工作

(6),利用容器中注册的Bean 后处理器(实现 BeanPostProcessor 接口的Bean)对已经完成属性注入工作的 Bean 进行后续加工,直接装配出一个准备就绪的 Bean

上一篇下一篇

猜你喜欢

热点阅读