老生谈spring(十一):自定义标签之component-scan

本文详细探讨了Spring框架中如何解析自定义标签`component-scan`的过程,从`spring.handlers`的解析到`ContextNamespaceHandler`的角色,再到`ComponentScanBeanDefinitionParser`的初始化和绑定。通过这一系列步骤,揭示了`component-scan`标签实际的处理逻辑和工作原理。
摘要由CSDN通过智能技术生成

老生谈spring(十一):自定义标签之component-scan

1、上一节讲到了spring通过resolve方法解析spring.handlers文件得到context的解析类,现在接着来看resolve方法。反射得到这个handler类以后用BeanUtils创建这个类的实例,调用init方法后放到handlerMappings容器中。
在这里插入图片描述2、以context:component-scan为例,我们知道context的命名空间是由ContextNamespaceHandler来负责处理的,那么我们来看ContextNamespaceHandler的init方法。
在这里插入图片描述3、可以看到ContextNamespaceHandler的init方法又作了一个绑定,以component-scan为例,它绑定的是ComponentScanBeanDefinitionParser这个对象。
在这里插入图片描述4、registerBeanDefinitionParser方法就是把component-scan和ComponentScanBeanDefinitionParser作为key、value存储到parsers容器。这样,自定义标签和相应的handler就绑定好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值