注解
基于java.lang.annotation注解
一、元注解
二、自定义注解
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface CheckLogin { /** * 为false时如果有token则查询用户信息,为空不抛出异常;为true则验证token,非法则抛出异常 * @return boolean */ boolean value() default true; }
可以通过反编译,看到和Annotation的关系。编译后是extents java.lang.annotation.Annotation
此时在方法上加注解,并不会有动作。应该实现注解的功能。可以通过反射获取相关类信息,执行相关操作。
Class clazz = Class.forName();
//可以获取注解的属性。
clazz.getAnnotations();
解析成员变量标签时,就要clazz.getDeclareields();先获取属性,之后再获取注解。
工作原理