java註解的理解

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)

  1. 編譯時 Annotation 指 @Retention 爲 CLASS 的 Annotation,甴 apt(Annotation Processing Tool) 解析自動解析。須要作的
    a. 自定義類集成自 AbstractProcessor
    b. 重寫其中的 process 函數
    實際是 apt(Annotation Processing Tool) 在編譯時自動查找全部繼承自 AbstractProcessor 的類,而後調用他們的 process 方法去處理

//Servlet3.0 @WebServlet註解

相關文章
相關標籤/搜索