注解是一种标记,我们可以在标记出现时候通过AOP或者拦截器做一些特殊的业务操作和数据处理;
自定义注解需要三步:
- 定义一个注解(空注解,没有任何的功能)
- 使用aop (常用方式)方式,分析注解,为注解添加功能
- 使用注解
一、自定义注解基础
元注解一共有四种@Target、@Retention、@Documented、@Inherited
1、@Target(常用)
package java.lang.annotation;
public enum ElementType {
TYPE, /* 类、接口(包括注释类型)或枚举声明 */
FIELD, /* 字段声明(包括枚举常量) */
METHOD, /* 方法声明 */
PARAMETER, /* 形式参数声明 */
CONSTRUCTOR, /* 构造方法声明 */
LOCAL_VARIABLE, /* 局部变量声明 */
ANNOTATION_TYPE, /* 注释类型声明 */
PACKAGE, /* 包声明 */
TYPE_PARAMETER, /* 类型参数声明 @since 1.8*/
TYPE_USE /* 任何类型声明 @since 1.8*/
}
@Target 用在什么地方: 指明了修饰的这个注解的使用范围,即被描述的注解可以用在哪里。
ElementType.TYPE:接口、类、枚举、注解
ElementType.FIELD