SpringCloud中自定義注解類


為了方便代碼書寫,自定義注解類型,可以通過元注解來實現:

是放在被定義的一個注解類的前面 ,是對注解一種限制。

談下這兩個: @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 方法獲得。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM