什么是注解?有什么作用
注解也叫元数据,例如我们常见的@Override和@Deprecated,
注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,
可以对包、类、接口、字段、方法参数、局部变量等进行注解。
作用:
比如说hibernate的@Entity.框架会把这个类判定为一个entity。
你不用再去写.xml配置文件了呀或者说springMVC的@Controller,他会自动把这个类识别为一个控制器…总之就是省事儿
掌握注解技术的要点: 如何定义注解、如何反射注解,并根据反射的注解信息,决定如何去运行类
元注解
1、给你自定义注解用的注解,
JDK中定义了四种元注解:
@Retention:注解的保留范围,是个枚举,有如下可选值
RetentionPolicy.SOURCE:注解存在于源文件中
RetentionPolicy.CLASS:注解存在于源字节码文件中
RetentionPolicy.RUNTIME:注解存在于运行时
@Target:注解出现的位置(比如字段上、方法上等),也是个枚举,有如下可选值
ElementType.TYPE
ElementType.FIELD:字段
ElementType.METHOD:方法
ElementType.PARAMETER
ElementType.CONSTRUCTOR
ElementType.LOCAL_VARIABLE
ElementType.ANNOTATION_TYPE
ElementType.PACKAGE
ElementType.TYPE_PARAMETER
ElementType.TYPE_USE
@Documented: 用于指定被该元 Annotation 修饰的 Annotation 类将被
javadoc 工具提取成文档.
@Inherited: 被它修饰的 Annotation 将具有继承性.如果某个类使用了被
@Inherited 修饰的 Annotation, 则其子类将自动具有该注解