1、注解中属性只有一个并且是value的时候,赋值的时候value可以省略。
2、注解的属性可以是数组,数组在赋值的时候用大括号将元素括起来。例如(email={“zhangsan@qq.com”,”lisi@qq.com”}) 。如果数组中只有一个元素的话,大括号可以省略。
3、自定义一个注解,可以标注在类和方法上。并且这个注解可以被反射读取。
package com.bjpowernode.controller;
import java.lang.annotation.ElementType;
import java.lang. Annotation .Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
//可以作用在类和方法上
@Target(value= {ElementType.TYPE,ElementType.METHOD})
//运行的时候,可以被 反射机制 获取
@Retention(value = RetentionPolicy.RUNTIME)
public @interface MyAnnotation {}
4、通过反射获取注解的值
package com.bjpowernode.controller;
import java.lang.reflect.Method;
public class AnnotationTest {
@MyAnnotation(name = "赵东", address = "南京")
public void add() {
}
public static void main(String[] args) throws Exception{
Class cla = Class.forName("com.bjpowernode.controller.AnnotationTest");
Method methodAdd = cla.getDeclaredMethod("add");
boolean b1 = methodAdd.isAnnotationPresent(MyAnnotation.class);
MyAnnotation annotation = methodAdd.getAnnotation(MyAnnotation.class);
System.out.println(annotation.name());
System.out.println(annotation.address());
}
}
5、 注解 的作用:
注解其实就是增强代码的一种方式,这个属性或者方法上面有注解的话,就对这个属性或者方法做一些事情,增强了代码的功能。