补充一下,注解的应用场景:结合spring的SpringMVC的拦截器或者SpringAOP,注解可以完成权限控制,日志记录等功能
首先讲一下 java自带的注解叫元注解,比如:@Override 、@Target 、@Retention 、@Document
@target 里面放数组 一个不用加{} 两个及其以上用{} 一个数组时候 value可以省略 -
此元注解 用于修饰注解 标记注解能够修饰的范围
value={ElementType.METHOD,ElementType.TYPE}
ElementType.TYPE: 类、接口(包括注解类型)或enum声明
ElementType.METHOD: 方法声明
ElementType.PACKAGE: 包声明
ElementType.PARAMETER: 参数声明
再看一下注解的属性:
public 类型 属性名称();
public 类型 属性名称() default ""; 如果加了default 那么调用这个注解时候 不必须赋值
public String value() default ""; 调用此类注解时候 可以不写
public String name(); 调用此类注解时候,必须写
public String[] colors() default{}; 调用此类注解时候 可以不写
如果注解的属性有几个都是默认值 只写了一个 那个这个值 属于value
使用自定义注解的步骤有哪些?
定义注解 public @interface 注解名称{}
使用注解 把注解应用到指定的位置上 方法、属性、类
写java代码判断是否有注解 有就做啥 没有就做啥
注意:使用注解的时候,一般都是判断注解类 是否为空或是否为真之类的,条件满足,就开始判断注解的方法是否满足条件
满足条件时,可以通过反射获取注解中定义的值等等一系列操作