Spring扫描流程
2022-06-09 21:10:57 13 举报
Spring扫描流程笔记
作者其他创作
大纲/内容
如果当前类和某个excludeFilter注解匹配则排除掉这个类
利用ASM技术解析每个class对象生成class元数据信息
给BeanDefinition对象中的属性赋值
包路径
遍历每一个BeanDefinition
Spring会扫描对应的包生成class文件对象,不是class对象,可以理解为File对象
调用AnnotationBeanGenerator生成BeanName
最终扫描得出BeanDefinition
如果是抽象类或者是接口则不通过
扫描结束
都匹配成功后会生成一个ScannedGenericBeanDefinition对象
如果是抽象类,但是加了@Lookup注解则通过
解析@Lazy,@Primary,@DependsOn,@Rule,@Description注解并赋值给BeanDefinition
进一步进行条件注解@Conditionl条件注解筛选
如果不是顶级类或者静态内部类,则不通过
如果当前类和某个cludeFilter注解匹配则通过这个类
收藏
0 条评论
回复 删除
下一页