概述
此文仅仅讲解注解的分类,让你对注解有个大概的认识,形成一个概念。如果你对注解比较熟悉或者不想看这么浅显的东西,可以直接下一篇。此系列文章,我将从最基础的分类开始,一直到最后完成一个自定义实战项目为止。循序渐进,图文结合,希望既清晰白话,又经济实用。但限于本人能力有限,不足之处,烦请指出。另本系列文章多处借鉴刘果国老师的文章,再次感谢老师的辛勤付出。
自定义注解系列文章
- 那些高端、优雅的注解是怎么实现的<0> – 注解的分类
- 那些高端、优雅的注解是怎么实现的 <1> – 自定义注解语法
- 那些高端、优雅的注解是怎么实现的<2> – 解析注解
- 那些高端、优雅的注解是怎么实现的<3> - 可继承性@Inherited
- 那些高端、优雅的注解是怎么实现的<4> – 使用Annotaion Processing Tool 解析注解
- 那些高端、优雅的注解是怎么实现的<5> --使用Annotaion Processing Tool 自定义注解
- 那些高端、优雅的注解是怎么实现的<6> --自定义持久层框架-类 Hibernate
按运行机制分类
一 :源码注解
只在源码里存在,编译成.class 文件的时候就不存在了 ,注解将被编译器丢弃;Annotation信息仅存在于编译器处理期间,编译器处理完之后就没有该Annotation信息了
二:编译期注解
在源码和.class 文件里都存在,如@Override 、@Deprecated
三 :运行时注解
编译器将在运行期也保留注解信息,因此可以通过反射机制读取注解的信息,如@AutoWired
##按来源分
一:jdk 自带注解
jdk 自带的
二 :来自第三方的注解
来自第三方库,比如spring的
三:自定义注解
自己定义的注解
按资历分
元注解
用来定义注解的注解,它是最牛的,并且没有之一