Java Annotation Examples
2017-07-21 13:14
288 查看
Define Annotaion
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface JavaFileInfo { String author() default "unknown"; String version() default "0.0"; }
Use Annotation
@JavaFileInfo public class DemoClass { @JavaFileInfo(author = "Lokesh", version = "1.0") public String getString() { return null; } }
Processing Annotations Using Reflection
import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Method; public class ProcessAnnotationExample { public static void main(String[] args) throws NoSuchMethodException, SecurityException { new DemoClass(); Class<DemoClass> demoClassObj = DemoClass.class; readAnnotationOn(demoClassObj); Method method = demoClassObj.getMethod("getString", new Class[]{}); readAnnotationOn(method); } static void readAnnotationOn(AnnotatedElement element) { try { System.out.println("\n Finding annotations on " + element.getClass().getName()); Annotation[] annotations = element.getAnnotations(); for (Annotation annotation : annotations) { if (annotation instanceof JavaFileInfo) { JavaFileInfo fileInfo = (JavaFileInfo) annotation; System.out.println("Author :" + fileInfo.author()); System.out.println("Version :" + fileInfo.version()); } } } catch (Exception e) { e.printStackTrace(); } } }
Execute Output
Finding annotations on java.lang.Class Author :unknown Version :0.0 Finding annotations on java.lang.reflect.Method Author :Lokesh Version :1.0
References
Complete Java Annotations TutorialCompile Time Validation using Java Annotation Processor
Lesson: Annotations
相关文章推荐
- Java Code Examples for javax.xml.bind.annotation.XmlSchema
- 深入理解Java:注解(Annotation)基本概念
- 深入理解Java:注解(Annotation)--注解处理器
- 深入理解Java:注解(Annotation)自定义注解入门
- Java高级特性-annotation
- Java5.0之Annotation
- 【java总结】注解Annotation
- java Annotation Demo
- Java_Annotation详解
- java注解annotation
- Java Annotation 手册
- Java 学习笔记05:Spring 基于注解(Annotation)的IOC
- 深入理解Java:注解(Annotation)--注解处理器
- java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
- 深入理解Java:注解(Annotation)自定义注解入门
- Spring Web工程web.xml零配置即使用Java Config + Annotation
- error the @annotation pointcut expression is only supported at Java 5 compliance level or above
- Java 注解详解 (annotation)
- AnnotationTransactionAttributeSource is only available on Java 1.5 and higher
- Java中Annotation(注释)系列学习笔记(1)