Java註解知識附帶實戰源碼

java註解總結

Annotation是Java提供的一種元程序中的元素關聯任何信息和元數據(metadata)的途徑和方法。
Annotation(註解)是一個接口,程序可以在編譯期通過AbstractProcessor處理註解元素,
或者運行期通過反射來獲取指定程序元素的Annotation對象,然後通過Annotation對象來獲取其中的元數據

首先了解元註解

元註解即爲註解的註解,用來定義新的註解使用,如下:
* @Target ; 該註解用來聲明註解作用的範圍或使用位置
* CONSTRUCTOR:用於描述構造器
* FIELD:用於描述域
* LOCAL_VARIABLE:用於描述局部變量
* METHOD:用於描述方法
* PACKAGE:用於描述包
* PARAMETER:用於描述參數
* TYPE:用於描述類、接口(包括註解類型) 或enum聲明
* @Retention ;該註解聲明瞭註解的聲明週期,在什麼時期存在
* SOURCE:在源文件中有效
* CLASS:在class文件中有效
* RUNTIME:在運行時有效(即運行時保留)
* @Documented ;是一個標記註解,有該註解的註解會在java文檔中保留
* @Inherited
該註解表明子類是有繼承了父類的註解。比如一個註解被該元註解修飾,並且該註解的作用在父類上,
那麼子類有持有該註解。如果註解沒有被該元註解修飾,則子類不持有父類的註解。

自定義註解實戰:詳見myannotation包下邊的類實現

使用元註解定義了註解的作用於,作用時期,參數類型等以後,一般是通過java反射機制
來首先判斷當前類是否有@MyAnnotation,有則進行相應的邏輯處理,包括執行特定動作
獲取註解參數等行爲。 還可以獲取在該類下添加了@MYAnnotation註解所有方法,對獲取到
的所有方法進行邏輯操作。

案例實戰(模仿ORM框架實現生成sql語句)

  1. 自定義@Table @Column 註解
  2. 定義一個實體類User,添加一些字段,並使用自定義註解
  3. new User的對象,添加一些字段
  4. 通過反射和註解來實現sql語句的生成

詳細實現請查看 GitHub代碼地址 該項目myannotation包下的相關代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章