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 方法獲得。