注解开发简记:
了解元注解
元注解主要有四个:
1 Documented 标记性,形成文档用。
2 inherited 标记性, 被注解的类型是否可以继承
3 Target 修饰的对象范围
ElementType.COUNSTRCTOR 作用于构造器
ElementType.FIELD 作用于域/属性
ElementType.LOCAL_VARIABLE 局部变量
ElementType.METHOD 方法
ElementType.PACKAGE 包
ElementType.PARAMETER 参数
ElementType.TYPE 类、接口或者enum
简单例子
1 注解
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface WebParam {
public String label() default "";
}
2 类
public class Anno {
@WebParam(label = "姓名")
private String name;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
3 测试
public class AnnoTest {
public static void main(String[] args){
Field[] fields = Anno.class.getDeclaredFields();
System.out.println(fields.length);
for (int i = 0; i < fields.length; i++){
Field field = fields[i];
Boolean is = field.isAnnotationPresent(WebParam.class);
System.out.println(field.getAnnotation(WebParam.class).label());
System.out.println("fieldName:"+field.getName()+" anno:"+is);
}
}
}