元注解
元注解:注解的注解,即java為注解開發(fā)特準(zhǔn)備的注解。
我們以上面講到的java內(nèi)置注解 Override為例,學(xué)習(xí)下java元注解
@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public?@interface?Override?{}
Target:
表示該注解可以用于什么地方,可能的ElementType參數(shù)有:
CONSTRUCTOR:構(gòu)造器的聲明
FIELD:域聲明(包括enum實(shí)例)
LOCAL_VARIABLE:局部變量聲明
METHOD:方法聲明
PACKAGE:包聲明
PARAMETER:參數(shù)聲明
TYPE:類、接口(包括注解類型)或enum聲明
Retention
表示需要在什么級(jí)別保存該注解信息。可選的RetentionPolicy參數(shù)包括:
SOURCE:注解將被編譯器丟棄
CLASS:注解在class文件中可用,但會(huì)被VM丟棄
RUNTIME:VM將在運(yùn)行期間保留注解,因此可以通過(guò)反射機(jī)制讀取注解的信息
document
將注解包含在Javadoc中
Inherited
允許子類繼承父類中的注解
緩存自定義DEMO
代碼塊:
輸出:
自定義注解應(yīng)用場(chǎng)景:
1.log日志,特殊日志可以使用注解進(jìn)行記錄;
2.WEB層入?yún)r(shí),對(duì)參數(shù)格式、長(zhǎng)度等進(jìn)行驗(yàn)證;
3.Dao層對(duì)某些特殊方法進(jìn)行不進(jìn)入mybatis攔截器;
JDK自帶注解:http://www.bjpowernode.com/tutorial_java_advance/1099.html
什么是Java注解:http://www.bjpowernode.com/tutorial_java_advance/1055.html
以上就是長(zhǎng)沙中公優(yōu)就業(yè)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java自定義注解,及其應(yīng)用”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。