美文网首页
@ComponetScan

@ComponetScan

作者: 雨景江水 | 来源:发表于2023-07-02 08:03 被阅读0次

一.扫描原理
https://blog.csdn.net/qq_30228707/article/details/118893919

https://juejin.cn/post/6844904165320179719

原理概述:

  1. 扫描给定目录及子目录下所有的class文件
  2. 生成SimpleMetadataReader,使用ASM读取class文件
  3. 判断扫描到的BeanDefinition是否满足注入条件
  4. 生成ScannedGenericBeanDefinition,该BeanDefinition实现了AnnotatedBeanDefinition接口,使用ASM(复用SimpleMetadataReader)获取Class的注解信息,而不需要JVM加载class AnnotatedBeanDefinition对BeanDefinition扩展,可以获取Class的注解信息。AnnotationMetadata表示Class注解的元数据,标准实现类为StandardAnnotationMetadata,而AnnotationMetadataReadingVisitor使用访问者模式,通过ASM获取注解信息。
  5. 检查BeanDefinition是否为非接口,非循环依赖
  6. 保存结果

二. @ComponetScan 是可以扫描第三方jar包的

1.@ComponetScan没有参数, 如果第三方jar包的包路径和 启动类包路径一样,那么该第三方jar包也可以被扫描到

  1. @ComponetScan 增加第三方jar包的路径作为参数,那么就可以扫描到该包

三. @ComponentScan 也可以排除扫描的类

https://blog.csdn.net/AKALXH/article/details/112461895

四. @componentscan可以扫描到哪些注解

只能扫描@component 或 拓展了@component的注解

https://www.csdn.net/tags/Ntzagg3sNDU2ODctYmxvZwO0O0OO0O0O.html

相关文章

网友评论

      本文标题:@ComponetScan

      本文链接:https://www.haomeiwen.com/subject/xzdkdrtx.html