1—Java基础 自定义注解的使用
- 注解(Annotation)概述
- 常见的Annotation示例
- 自定义Annotation
- JDK中的元注解
- 利用反射获取注解信息(在反射部分涉及)
- JDK 8中注解的新特性
2—注解 (Annotation) 概述
-
从JDK5.0开始,Java增加了对元数据的(MetaDate)的支持,也就是Annotation(注解)
-
Annotation其实就是代码里的一个**特殊标记**,这些标记可以在编译、类加载、运行时被读取、并执行相应的处理。通过使用Annotation,程序员可以在不改变原有的逻辑情况下,在源文件中嵌入一些补充信息进行验证或者进行部署
-
Annotation 可以像修饰符一样被使用 可以修饰包、类、构造器、成员属性、方法、参数、局部变量的声明、这些信息被保存在Annotation的“name=value”对中。
-
在JavaSE中,注解的使用目的比较简单。例如标记过时的功能、忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗代码和xml配置等。
-
未来的开发模式都是基于注解的,JPA是基于注解的。Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的
Struts2有一部分也是基于注解的了,注解是一种趋势,一定程度上
可以说:框架 = 注解 + 反射 + 设计模式。
3—常见的Annotation示例
- 使用Annotation时要在其签名加上@符号,并把该Annatation(注解)当成一个修饰符使用。用于修饰他支持的程序元素。
示例一:生成文档的相关注解
-
@author 标明开发该类模块的作者,多个作者之间使用,分割
-
@version 标明该类模块的版本
-
@see 参考转向,也就是相关主题
-
@since 从哪个版本开始增加的
-
@param 对方法中某参数的说明,如果没有参数就不能写
-
@return 对方法返回值的说明,如果方法的返回值类型是void就不能写
-
@exception 对方法可能抛出的异常进行说明 ,如果方法没有用throws显式抛出的异常就不能写
-
其中
-
@param @return 和 @exception 这三个标记都是只用于方法的。
@param的格式要求:@param 形参名 形参类型 形参说明
@return 的格式要求:@return 返回值类型 返回值说明
@exception的格式要求:@exception 异常类型 异常说明
@param和@exception可以并列多个
-
-
示例二:在编译时进行格式检查(JDK=内置的三个基本注解)
-
@Override: 限定重写父类方法, 该注解只能用于方法
-
@SuppressWarnings: 抑制编译器警告
-
@Deprecated: 用于表示所修饰的元素(类, 方法等)已过时。通常是因为
所修饰的结构危险或存在更好的选择
package com.annotation.javadoc;
public class AnnotationTest{
public static void main(String[] args) {
@SuppressWarnings("unused")
int