bean标签的解析及注册——BeanDefinitionHolder

1、默认标签的解析

在parseBeanDefinitions(root, this.delegate),主要对import、alias、bean、beans进行不同的处理

2、bean标签解析

bean解析最为复杂

2.1、解析

通过BeanDefinitionParserDelegate的parseBeanDefinitionElement进行元素解析,并返回BeanDefinitionHolder,通过这个方法已经加载配置文件的各种属性

2.2、自定义标签解析

如果在默认标签的子节点下面有自定义的属性,再次解析
2.3、对解析后的bdHolder进行注册
由BeanDefinitionReaderUtils的registerBeanDefinition方法
2.4、bean加载完成以后,通知相关监听器


3、具体解析

3.1、parseBeanDefinitionElement


3.2、实现步骤

3.2.1、获取id和name属性


3.2.2、解析其它所有属性



3.2.3、如果检测到没有beanName,则使用默认规则生成


3.2.4、分装到BeanDefinitionHolder进一步封装



猜你喜欢

转载自blog.csdn.net/zhangchangbin123/article/details/80618031