Java基础-注解

注解本质是继承了Annotation接口的一个接口


首先,我们通过键值对的形式可以为注解属性赋值,像这样:@Hello(value = "hello")。

接着,你用注解修饰某个元素,编译器将在编译期扫描每个类或者方法上的注解,会做一个基本的检查,你的这个注解是否允许作用在当前位置,最后会将注解信息写入元素的属性表。

然后,当你进行反射的时候,虚拟机将所有生命周期在 RUNTIME 的注解取出来放到一个 map 中,并创建一个 AnnotationInvocationHandler 实例,把这个 map 传递给它。

最后,虚拟机将采用 JDK 动态代理机制生成一个目标注解的代理类,并初始化好处理器。

那么这样,一个注解的实例就创建出来了,它本质上就是一个代理类,你应当去理解好 AnnotationInvocationHandler 中 invoke 方法的实现逻辑,这是核心。一句话概括就是,通过方法名返回注解属性值。

相关推荐
J2虾虾3 分钟前
Spring AI Alibaba文档
java·人工智能·spring
YikNjy9 分钟前
break和continue
java·开发语言·算法
SomeOtherTime11 分钟前
Geojson相关(AI回答)
java·前端·python
日月云棠22 分钟前
10 Integer —— 最常用的整数包装类深度解析
java·后端
秋926 分钟前
java项目中cpu飙升排查及解决方法
java·开发语言
野生技术架构师27 分钟前
牛客网2026最新大厂Java高频面试题精选(附标准答案)
java·开发语言
PH = 731 分钟前
JAVA的SPI机制
java·开发语言
一 乐31 分钟前
高校实习信息发布网站|基于Spring Boot的高校实习信息发布网站的设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·高校实习信息发布网站
weelinking33 分钟前
【产品】11_实现后端接口——数据在背后如何流动
java·人工智能·python·sql·oracle·json·ai编程
摇滚侠41 分钟前
东方通替换tomcat,实战经验
java