Annotation 成爲註解,註解是可以添加到Java源代碼的語法元數據。類、方法、變量、參數、包均可以被註解,能夠將信息元數據和程序元素關聯。函數
@Document:是否保存到Javadoc文檔中.net
@Retention:保留的時間(可選值:SOURCE:源碼時;CLASS:編譯時;RUNTIME:運行時)繼承
@Target:能夠用來修飾那些程序元素文檔
@Inherited:是否能夠被繼承,默認爲falseget
Annotation(註解)的做用:編譯器
1.標記做用,用於告訴編譯器一些信息源碼
@Retention(RetentionPolicy.SOURCE)it
2.編譯時動態處理,能夠動態生成代碼io
@Retention(RetentionPolicy.CLASS)編譯
3.運行時動態處理,能夠獲得註解信息
@Retention(RetentionPolicy.RUNTIME)
使用註解:
1.運行時Annocation解析: @Retention(RetentionPolicy.RUNTIME)
method.getAnnotation(AnnotationName.class); //Annotation 註解的名稱 返回註解信息 method.getAnnotations(); //返回目標的全部註解,一個Target能夠有多個註解 method.isAnnotationPresent(AnnotationName.class); //表示該Target是否被某個Annotation修飾
getAnnotation(AnnotationName.class) 表示獲得該target某個Annotation的信息,由於一個Target能夠被多個Annotation修飾。getAnnotations()則表示獲得該Target全部的Annotation
2.編譯時Annotation解析 @Retentiom(RetentionPolicy.CLASS)
//Servlet3.0 @WebServlet註解