Spring容器初始化过程
所属分类 spring
浏览量 980
XML配置
ResourceLoader 加载配置文件
Resource
boolean exists();
BeanDefinitionReader 解析配置文件
BeanDefinitionRegistry
BeanFactoryPostProcessor 对 配置信息进行加工处理
InstantiationStrategy 实例化对象
BeanWrapper 设置bean 属性
PropertyEditorRegistry 自定义 PropertyEditor
使用PropertyEditor 实现对象和字符串之间的转换
内置PropertyEditor
propertyeditors包 大多由BeanWrapperImpl注册
BeanPostProcessor 处理
bean实例
1 ResourceLoader 读取配置信息,使用Resource表示配置文件资源
2 BeanDefinitionReader 读取解析配置文件
解析成BeanDefinition对象,放到BeanDefinitionRegistry中
3 容器扫描BeanDefinitionRegistry中的BeanDefinition
提取实现BeanFactoryPostProcessor接口的Bean,
对BeanDefinitionRegistry中的BeanDefinition进行加工处理
主要完成2项工作
A 配置占位符解析 得到最终的 BeanDefinition对象
B 对BeanDefinitionRegistry中的BeanDefinition进行扫描,找出所有实现java.beans.PropertyEditor接口的Bean
将它们注册到 PropertyEditorRegistry
4 取出加工后的BeanDefinition,调用InstantiationStrategy 实例化Bean
5 BeanWrapper 利用 BeanDefinition 和 PropertyEditor 注入属性
6 BeanPostProcessor处理
Resource BeanDefinition PropertyEditor Bean
ResourceLoader
BeanDefinitionReader
BeanFactoryPostProcessor
InstantiationStrategy
BeanWrapper
BeanPostProcessor
Spring的BeanFactoryPostProcessor和BeanPostProcessor
上一篇
下一篇
aerospike lua 构建有序列表
接口幂等几种实现
java NIO 服务端例子2
中国诗词巅峰40首
使用_cat查看Elasticsearch状态
Elasticsearch Scroll 滚动查询实例