Java Web框架 基础知识 注解 @interface @Target @Retention

Java Web框架 基础知识 注解 @interface @Target @Retention

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Action {
}

1、@interface
@interface Action { } 定义一个注解 @Action,一个注解是一个类。

2、@Target(ElementType.TYPE)
@Target 说明注解所修饰的对象范围。

@Target(ElementType.TYPE)   //接口、类、枚举、注解
@Target(ElementType.FIELD)  //字段、枚举的常量
@Target(ElementType.METHOD)  //方法
@Target(ElementType.PARAMETER) //方法参数
@Target(ElementType.CONSTRUCTOR)  //构造函数
@Target(ElementType.LOCAL_VARIABLE) //局部变量
@Target(ElementType.ANNOTATION_TYPE) //注解
@Target(ElementType.PACKAGE)  //包

3、@Retention(RetentionPolicy.RUNTIME)
@Retention(保留)说明注解的生命周期。
a、RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃。
b、RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃。默认的生命周期。
c、RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,在jvm加载class文件之后,仍然存在。

发表回复

您的电子邮箱地址不会被公开。