1. 程式人生 > >spring自定義註解

spring自定義註解

java註解

即是註釋了,百度解釋:也叫元資料。一種程式碼級別的說明。 個人理解:就是內容可以被程式碼理解的註釋,一般是一個類。

元資料

也叫元註解,是放在被定義的一個註解類的前面 ,是對註解一種限制。

談下這兩個: @Retention 和 @Target  

@Retention :用來說明該註解類的生命週期。它有以下三個引數:

RetentionPolicy.SOURCE  : 註解只保留在原始檔中

RetentionPolicy.CLASS  : 註解保留在class檔案中,在載入到JVM虛擬機器時丟棄

RetentionPolicy.RUNTIME  : 註解保留在程式執行期間,此時可以通過反射獲得定義在某個類上的所有註解。

@Target :  用來說明該註解可以被宣告在那些元素之前。

ElementType.TYPE:說明該註解只能被宣告在一個類前。

ElementType.FIELD:說明該註解只能被宣告在一個類的欄位前。

ElementType.METHOD:說明該註解只能被宣告在一個類的方法前。

ElementType.PARAMETER:說明該註解只能被宣告在一個方法引數前。

ElementType.CONSTRUCTOR:說明該註解只能宣告在一個類的構造方法前。

ElementType.LOCAL_VARIABLE:說明該註解只能宣告在一個區域性變數前。

ElementType.ANNOTATION_TYPE:說明該註解只能宣告在一個註解型別前。

ElementType.PACKAGE:說明該註解只能宣告在一個包名前。

註解的定義:

註解的定義使用關鍵詞 @interface ,並在上面一行註明@Rentention(arg) 或者@Target(args) , 樣例如下:

@Rentention(RetentionPolicy.RUNTIME)

public @interface Annotation01 {

//定義公共的final靜態屬性

.....

//定以公共的抽象方法

......

}

常見基本內建註解

@Override  當我們想重寫一個方法時,在方法上加@Override,當我們方法的名字出錯時,編譯器就會報錯。 定義如下:

@Retention(RetentionPolicy.SOURCE )

public   @interface  Override

@Deprecated  用來表示某個類的屬性或方法已經過時,不想別人再用時,在屬性和方法上用@Deprecated修飾。 定義如下:

@Retention(RetentionPolicy.SOURCE )

public   @interface  Deprecated

@SuppressWarnings  用來壓制程式中出來的警告。 定義如下:

@Retention(RetentionPolicy.SOURCE )

public   @interface  SuppressWarnings 

註解的使用

定義註解--》宣告註解-->獲得註解;

其中 獲得註解 通過被修飾的物件的 getAnnotation 或 getAnnotations 方法獲得。