首頁 >Java >java教程 >java如何實作自訂註解

java如何實作自訂註解

coldplay.xixi
coldplay.xixi原創
2020-08-20 11:53:495442瀏覽

java實作自訂註解的方法:先新建一個java文件,並自訂一個註解;然後使用元註解定義各項;最後定義該註解的業務邏輯。

java如何實作自訂註解

java實作自訂註解的方法:

一、自訂一個註解(MyValidate),使用元註解定義各項用途

java如何實作自訂註解

二、定義該註解的業務邏輯,這裡只實作了註解的一個屬性:isNotNull()

java如何實作自訂註解

然後就可以愉快的使用了

java如何實作自訂註解

在實際專案中透過攔截器或切面來實現:

1、定義一個interface,命名為BaseCheck,BaseCheck裡面有一個抽象的check方法,check方法回傳值是boolean。

2、定義校驗的註解,例如:@NotNull、@Length。

3、根據上面的註解,分別定義對應的校驗類,例如:NotNullCheck、LengthCheck。

4、NotNullCheck、LengthCheck都需要實作BaseCheck的check方法,你要在check方法裡面寫校驗流程。

5、定義一個容器,在工程啟動的時候,把NotNullCheck和LengthCheck的物件塞到裡面,

如果你使用spring,直接在NotNullCheck和LengthCheck上面加個註解@Component ,也能達到同樣的效果。

6、定義一個攔截器或切面。

7、在這個攔截器或是切面裡,拿到請求的參數,也就是那個user物件。

8、透過反射,取得到這個user物件所對應的類,類別的名字一定就是User了。

9、遍歷User裡面的所有Field,檢查每一個Field是否含有註解。

10、遍歷Field上的所有註解。

11、假設找到一個註解@NotNull,就去找一下對應的校驗類,

BaseCheck baseCheck = 容器.get("NotNullCheck")

#或BaseCheck baseCheck = (BaseCheck) SpringUtl.getBean("NotNullCheck")

12、如果找到,也就是baseCheck不為空,則透過反射取得這個Field的實際值,將這個值作為參數,呼叫baseCheck. check方法

13、baseCheck.check如果回傳false則報錯,如果回傳true則繼續,直到遍歷完所有Field、所有註解

相關學習推薦:java基礎教程

以上是java如何實作自訂註解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn