Spring boot 工作入口——Bean的建立(一)转化为BeanDefinition

从注解到BeanDefinition

该过程中涉及组件

@Component注解转化为BeanDefinition的过程

Springboo 场景剖析一: 与启动类在同一路径下@Component注解是何时被解析的

我们拿最常见的和启动类在同一路径下的@Component注解的类来分析是如何转化为BeanDefinition的
在这里插入图片描述

关键一步,通过resource得到MetadataReader,然后通过metadataReader来创建ScannedGenericBeanDefinition,@Component注解以及派生注解都是创建为ScannedGenericBeanDefinition类型的BeanDefinition。

这里的Resource一个是启动类一个是Config类
在这里插入图片描述
在这里插入图片描述

将BeanDefinition注册到容器中

在这里插入图片描述

在这里插入图片描述

BeanDefinitionReaderUtils将BeanDefinition注册到容器中

@Bean转化为BeanDefinition

@Bean的处理过程

将BeanDefinition注册到容器中

在这里插入图片描述

将@Import注解中的类信息转化为BeanDefinition

Springboot 知识点(三)自动配置及starter原理

将BeanDefinition注册到容器中 (@Import(Registry的实现类))

在这里插入图片描述

常规BeanDefinition转化

在这里插入图片描述

哪些组件可以注册BeanDefinition到BeanFactory中

DefaultListableBeanFactory

不论你是通过context#registryBeanDefinition还是Context的reader最后都是通过DefaultListableBeanFactory
在这里插入图片描述

DefaultListableBeanFactory#registerBeanDefinition

DefaultListableBeanFactory可以这样做是因为实现了BeanDefinitionRegistry
BeanFactory系列
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值