package com.zouch.aop;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @author Zouch
* @date 2020/10/17 8:56
* @description 自定义注解测试,注释描述了各字段的作用
*/
/*
* Java中的元注解:
* 1.@Retention:定义元注解的保留策略
* @Rentention(RententionPolicy.source) //注解只存在源码中,字节码文件中无。
* @Rentention(RententionPolicy.class) //默认的策略。在字节码中存在,但运行时无法获得。
* @Rentention(RententionPolicy.RUNTIME) //在字节码中存在,在运行时通过反射也可获得。
* 1.@Target:指定被修饰的Annotation可以放置的位置(被修饰的目标)
* @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) //包。
可以指定多个位置比如:@Target(ElementType.TYPE,ElementType.METHOD)
* 3.@Inherited:指定被修饰的Annotation将具有继承性。
* 4.@Documented:指定被修饰的该Annotation可以被javadoc工具提取成文档。
*
* */
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.METHOD)
public @interface AnnotationTest {
}