bean标签的解析及注册-BeanDefintion

1、介绍

BeanDefintion是一个接口,主要有三种实现ChildBeanDefinition(子bean)、GenericBeanDefinition(创建实例)、RootBeanDefinition(父bean)
bean标签的解析及注册-BeanDefintion

1.2、创建实例GenericBeanDefinition

代码createBeanDefinition作用就是实现该功能
bean标签的解析及注册-BeanDefintion

1.3、createBeanDefinition创建承载属性实例

bean标签的解析及注册-BeanDefintion

1.4、BeanDefinitionReaderUtils工具类

bean标签的解析及注册-BeanDefintion

2、解析各种属性

创建bean实例后,需要解析各种属性parseBeanDefinitionAttributes
bean标签的解析及注册-BeanDefintion

2.1、parseBeanDefinitionAttributes方法

主要对scope、singleton、abstract、lazy-init、autowire、dependency-chenk、depends-on、autowire-candidate、primary、init-method、destroy-method、factory-method、factory-bean解析
bean标签的解析及注册-BeanDefintion

3、解析子元素Meta

bean标签的解析及注册-BeanDefintion

主要是获取当前节点的所有子元素,然后提取meta,然后使用key、value构造BeanMetadataAttribute、记录信息
bean标签的解析及注册-BeanDefintion

4、解析子元素lookup-method、解析子元素replaced-method、解析子元素constructor-arg、解析子元素property、解析子元素qualifier

bean标签的解析及注册-BeanDefintion