java自定义Annotation,得到注解类中Annotation设定的注解值
2015-01-24 15:49
344 查看
java注解机制在各大框架中应用普遍,注解中可以设置一些值,如何得到呢.
要得到注解类中Annotation设定的注解值 即:遍历自定义Annotation中的方法,反射执行方法,结果就是 对应的注解值。
java代码例子:
要得到注解类中Annotation设定的注解值 即:遍历自定义Annotation中的方法,反射执行方法,结果就是 对应的注解值。
java代码例子:
package com.doctor.spring.core; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.lang.reflect.Method; /** * 自定义Annotation,得到注解类中Annotation设定的注解值 即:遍历自定义Annotation中的方法,反射执行方法,结果就是 * 对应的注解值。 * * 对应复杂注解的处理参看:{@code AnnotationUtils} * * @author doctor * * @time 2015年1月23日 下午6:15:31 */ public class AnnotationPractice { public static void main(String[] args) throws ReflectiveOperationException { MyAnnotation myAnnotation = AnnotationP.class.getAnnotation(MyAnnotation.class); System.out.println(myAnnotation); // 输出: // @com.doctor.spring.core.AnnotationPractice$MyAnnotation(value=AnnotationP, // num=12, address=[1, 2]) for (Method method : myAnnotation.annotationType().getDeclaredMethods()) { if (!method.isAccessible()) { method.setAccessible(true); } Object invoke = method.invoke(myAnnotation); System.out.println("invoke methd " + method.getName() + " result:" + invoke); if (invoke.getClass().isArray()) { Object[] temp = (Object[]) invoke; for (Object o : temp) { System.out.println(o); } } } // 输出: // invoke methd num result:12 // invoke methd value result:AnnotationP // invoke methd address result:[Ljava.lang.String;@74a14482 // 1 // 2 } @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Documented private @interface MyAnnotation { String value() default ""; int num() default 100; String[] address() default {}; } @MyAnnotation(value = "AnnotationP", num = 12, address = { "1", "2" }) private static class AnnotationP { } }
相关文章推荐
- java注解应用实例 - Annotation, 自定义注解, 注解类规则
- Java注解annotation用法和自定义注解处理器
- java自定义 注解 annotation、标签库tag、监听listener、junit简单测试代码
- Java自定义Annotation的应用(注解@)
- 深入理解Java:注解(Annotation)自定义注解入门
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
- Java基础复习笔记12Java自定义注解Annotation的使用
- Java注解annotation用法和自定义注解处理器
- Java 自定义注解(Annotation)
- 深入理解Java:注解(Annotation)自定义注解入门
- 深入理解Java:注解(Annotation)自定义注解入门
- 深入理解Java:注解(Annotation)自定义注解入门(转载)
- Java注解annotation用法和自定义注解处理器
- Java中的Annotation详解和使用 自定义注解
- java注解应用实例 - Annotation, 自定义注解, 注解类规则
- Java 自定义Annotation(元数据、注解)
- java自定义注解,annotation
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
- java注解应用实例 - Annotation, 自定义注解, 注解类规则
- Java Annotation 自定义注解(一)――定义