文章目录
  1. 1. 注解理解
  2. 2. 注解分类
  3. 3. 自定义注解

注解理解

可以把注解看成是一个XML元素,该元素可以有不同的预定义的属性。而属性的值是可以在声明该元素的时候自行指定

的。在代码中使用注解,就相当于把一部分元数据从XML文件移到了代码本身之中,在一个地方管理和维护。

注解分类

标记注解:简单的声明即可 ;

Eg:@Override

非标记注解:需待参数;

Eg: @SupressWarnings({"uncheck", "unused"})

@Table(name = "Customer", schema = "APP")

采用键值对来表示,{}表示数组;当域只有一个配置参数时,参数名称默认是value,可以省略,如上;

自定义注解

元注解:用来声明注解本身的行为;

@Retention:声明注解的保留策略,有CLASS、RUNTIME和SOURCE这三种,分别表示注解保存在类文件、JVM运行时刻和源代码中。只

有当声明为RUNTIME的时候,才能够在运行时刻通过反射API来获取到注解的信息。

@Target:声明注解可以被添加在哪些类型的元素上,如类型、方法和域等。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//@interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数。
//方法的名称就是参数的名称,返回值类型就是参数的类型。可以通过default来声明参数的默认值。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Assignment {
String assignee();
int effort();
double finished() default 0;
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface RequiredRoles {
String[] value();
}
文章目录
  1. 1. 注解理解
  2. 2. 注解分类
  3. 3. 自定义注解