註解式編程(一)

介紹
註解在我們的日常開發中可謂有着不可估值的重量,但是我們用到的機會非常的少,今天這篇作爲開篇記錄, 如果說註釋是寫給人看的話,那麼註解就是寫給程序看的 註解就像是一個標籤 貼在類上 方法上 或者字段上面。 註解的本質就是接口 反編譯過之後就是自動繼承了Annotation

元註解
元註解就是加在註解上面的註解。

  • @Documented
    用於製作文檔,

  • @Target
    加在註解上,限定該註解的使用位置。不寫的話,好像默認各個位置都是可以的。如果需要限定註解的使用位置,可以在自定義的註解上使用該註解。我們本次默認即可,不特別限定。

  • @Retention(註解的保留策略)
    註解的保留策略有三種:SOURCE/ClASS/RUNTIME

  1. 註解主要被反射讀取

  2. 反射只能讀取內存中的字節碼信息

  3. RetentionPolicy.CLASS指的是保留到字節碼文件,它在磁盤內,而不是內存中。虛擬機將字節碼文件加載進內存後註解會消失

  4. 要想被反射讀取,保留策略只能用RUNTIME,即運行時仍可讀取

使用

  1. getAnnotation 方法

    每一個類 或者方法或者屬性上面都有getAnnotation 方法 可以獲取這個類上面的註解


@Retention(RetentionPolicy.RUNTIME)
public @interface IndexID {
    String value() default "no feault";
}

@IndexID("123")
public class PersonModel {
    
    public PersonModel() {
    }
}

	//使用
    @Test
    void annotation() {
        IndexID annotation = PersonModel.class.getAnnotation(IndexID.class);
        System.out.println(annotation.value());
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章