Java annotation元注解原理實(shí)例解析
元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四種。
1. Annotation型定義為@interface, 所有的Annotation會(huì)自動(dòng)繼承java.lang.Annotation這一接口,并且不能再去繼承別的類或是接口.
2. 參數(shù)成員只能用public或默認(rèn)(default)這兩個(gè)訪問權(quán)修飾
3. 參數(shù)成員只能用基本類型byte,short,char,int,long,float,double,boolean八種基本數(shù)據(jù)類型和String、Enum、Class、annotations等數(shù)據(jù)類型,以及這一些類型的數(shù)組.
4. 要獲取類方法和字段的注解信息,必須通過Java的反射技術(shù)來獲取 Annotation對(duì)象,因?yàn)槟愠酥鉀]有別的獲取注解對(duì)象的方法
5. 注解也可以沒有定義成員, 不過這樣注解就沒啥用了
1. @Target 表示該注解目標(biāo),可能的 ElemenetType 參數(shù)包括:
ElemenetType.CONSTRUCTOR 構(gòu)造器聲明
ElemenetType.FIELD 域聲明(包括 enum 實(shí)例)
ElemenetType.LOCAL_VARIABLE 局部變量聲明
ElemenetType.METHOD 方法聲明
ElemenetType.PACKAGE 包聲明
ElemenetType.PARAMETER 參數(shù)聲明
ElemenetType.TYPE 類,接口(包括注解類型)或enum聲明
2. @Retention 表示該注解的生命周期,可選的 RetentionPolicy 參數(shù)包括
RetentionPolicy.SOURCE 注解將被編譯器丟棄
RetentionPolicy.CLASS 注解在class文件中可用,但會(huì)被VM丟棄
RetentionPolicy.RUNTIME VM將在運(yùn)行期也保留注釋,因此可以通過反射機(jī)制讀取注解的信息
3. @Documented 指示將此注解包含在 javadoc 中
4. @Inherited 指示允許子類繼承父類中的注解
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
純Java實(shí)現(xiàn)數(shù)字證書生成簽名的簡單實(shí)例
下面小編就為大家?guī)硪黄僇ava實(shí)現(xiàn)數(shù)字證書生成簽名的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08
Spring下token過期時(shí)間分平臺(tái)(web和app)設(shè)置方法
本文詳細(xì)介紹了在Spring環(huán)境下,針對(duì)web端和APP端實(shí)現(xiàn)不同token過期時(shí)間的方法,通過整合SpringBoot、springSecurity和JWT框架,文章講解了登錄流程、JWT的基本組成以及token鑒權(quán)的核心步驟,需要的朋友可以參考下2024-10-10
Java日期時(shí)間字符串和毫秒相互轉(zhuǎn)換的方法
這篇文章主要為大家詳細(xì)介紹了Java日期時(shí)間字符串和毫秒相互轉(zhuǎn)換的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12

