java四個元註解
阿新 • • 發佈:2019-01-22
java 提供4種註解,專門負責新註解的建立
@Target :
target(靶子,目標)表示該註解可以用在什麼地方,可能的ElementType(元素的型別)引數有
@Target(ElementType.TYPE) //介面、類、列舉、註解
@Target(ElementType.FIELD) //欄位、列舉的常量
@Target(ElementType.METHOD) //方法
@Target(ElementType.PARAMETER) //方法引數
@Target(ElementType.CONSTRUCTOR) //建構函式
@Target(ElementType.LOCAL_VARIABLE)//區域性變數
@Target(ElementType.ANNOTATION_TYPE)//註解
@Target(ElementType.PACKAGE) ///包
Spring boot啟動註解 @SpringBootApplication 使用@Target(ElementType.TYPE)
@Retention :
Retention(保留)表示需要在什麼級別儲存該註解資訊 可能的RetentionPolicy(保留策略)引數有
@Retention(RetentionPolicy.SOURCE) //被編譯器忽略
@Retention(RetentionPolicy.CLASS) //註解將會被保留在Class檔案中,但在執行時並不會被VM保留。這是預設行為,所有沒有用Retention註解的註解,都會採用這種策略。
@Retention(RetentionPolicy.RUNTIME) //保留至執行時。所以我們可以通過反射去獲取註解資訊。
@Document 將註解包含在Javadoc(註釋)中
@Inherited 允許子類繼承父類中的註解
@Target :
target(靶子,目標)表示該註解可以用在什麼地方,可能的ElementType(元素的型別)引數有
@Target(ElementType.TYPE) //介面、類、列舉、註解
@Target(ElementType.FIELD) //欄位、列舉的常量
@Target(ElementType.METHOD) //方法
@Target(ElementType.PARAMETER) //方法引數
@Target(ElementType.CONSTRUCTOR) //建構函式
@Target(ElementType.LOCAL_VARIABLE)//區域性變數
@Target(ElementType.ANNOTATION_TYPE)//註解
@Target(ElementType.PACKAGE) ///包
Spring boot啟動註解 @SpringBootApplication 使用@Target(ElementType.TYPE)
@Retention :
Retention(保留)表示需要在什麼級別儲存該註解資訊 可能的RetentionPolicy(保留策略)引數有
@Retention(RetentionPolicy.SOURCE) //被編譯器忽略
@Retention(RetentionPolicy.CLASS) //註解將會被保留在Class檔案中,但在執行時並不會被VM保留。這是預設行為,所有沒有用Retention註解的註解,都會採用這種策略。
@Retention(RetentionPolicy.RUNTIME) //保留至執行時。所以我們可以通過反射去獲取註解資訊。
@Document 將註解包含在Javadoc(註釋)中
@Inherited 允許子類繼承父類中的註解