Spring框架解析注解

Spring框架中提供了两种解析注解(Annotation)的方式,一种使用ASM;一种使用反射

ASM方式

操作字节码文件。比如以

Set<String> getAnnotationTypes() 

为例,会直接返回annotationSet。

而annotationSet的更新是通过ASM解析字节码文件并回调visitAnnotation()方法完成,

反射方式

getAnnotationTypes()会先调用getAnnotations()获取mergedAnnotations

 一路跟踪mergedAnnotations的实例化代码以及get方法,可以看到Class,也就是使用反射实现。

 

posted on 2023-04-24 07:25  -赶鸭子上架-  阅读(16)  评论(0编辑  收藏  举报