浅谈spring——bean创建过程(四)

来源:互联网 发布:php连接mysql数据库 编辑:程序博客网 时间:2024/05/22 13:36

spring容器从配置文件读取到创建一个完整Bean的流程


步骤:

1. ResourceLoader加载spring配置文件

2. BeanDefinitionReader读取Resource所指向的配置文件资源,解析配置文件,将每一个<bean>解析成一个BeanDefinition对象,并保存到BeanDefinitionRegistry

3. 利用后处理器BeanFactoryPostProcessor对BeanDefinitionRegistry中的BeanDefinition进行加工处理

 a) 对使用到占位符的<bean>元素标签进行解析,将占位符替换成真实值

 b) 对所有的BeanDefinition进行扫描,通过java反射机制找出所有的属性编辑器的Bean(实现java.bean.PropertyEditor)并自动注册到PropertyEditorRegistry

4. 从BeanDefinitionRegistry中取出加工后的BeanDefinition,调用InstantiationStrategy进行实例化

5. 在实例化Bean时,利用BeanWrapper对Bean属性设置

6. 利用后处理器(BeanPostProcessor)对完成属性设置工作Bean进行加工,得到一个最终的Bean


总结:

spring框架内部拥有众多的的组件和装置,通过众多接口构造其骨架,具有如下特点:

1)接口层描述了容器的重要组件及组件间的协作关系

2)继承体系逐步实现组件的各项功能


组件按角色可分为两类:

1)物料组件,如Resource BeanDefinition  PropertyEditor ,作为基本原料

2)加工设备,ResourceLoader  BeanDefinitoinReader  BeanFactoryPostProcessor   InstantiationStrategy  BeanWrapper,专门用于对上面的物料加工




原创粉丝点击