servlet 註解

一、註解
1、註解的作用:替代配置文件
2、JDK中提供的三個基本的註解
@Override:說明是否覆蓋了父類的方法。
@Deprecated:說明過時了。
@SuppressWarnings:抑制警告
@SuppressWarnings("抑制的警告的具體類型"):
unused:變量未使用
deprecation:使用了不贊成使用的類或方法時的警告
unchecked:執行了未檢查的轉換時的警告。比如沒有使用泛型
falthrough:當switch程序塊直接通往下一種情況而沒有break時的警告
path:在類路徑、源文件路徑等中有不存在的路徑時的警告。
serial:當在可序列化雷尚缺少serialVersionUID定義時的警告
finally:任何finally子句不能正常完成時的警告。
all:關於以上所有情況的警告。
3、註解學習目標:
a、自定義註解
b、反射註解
4、自定義註解的語法:
註解本身:public @interface MyAnnotation{}
使用關鍵字@interface定義一個類而已。這個類就是註解。
註解中的屬性:
基本形式:類型 屬性名稱();
比如:String name();
使用:@MyAnnotationDemo1(name="hello")
特別注意:註解的屬性的類型只能是:基本類型、String、Class、枚舉、註解類型及以上類型的一維數組。
註解屬性的默認值:
類型 屬性名稱() default 默認值;
註解中的特殊屬性:
類型 value();   使用時,如果只給value設置值,可以這樣用:@MyAnnotationDemo1(value="hello")或者@MyAnnotationDemo1("hello")
  使用時,如果只給value設置值,還要給其他屬性設置值,可以這樣用:
@MyAnnotationDemo1(value="hello",name="aaa")
類型[] value();
使用方式如同value。
使用方式:四種都ok
// @MyAnnotationDemo1(value={"a","b"})
// @MyAnnotationDemo1({"a","b"})
// @MyAnnotationDemo1({"a"})
@MyAnnotationDemo1("a")
5、元註解:
定義:服務於註解的註解就是元註解。
***@Retention:註解的保留範圍
RetentionPolicy.SOURCE:註解存在於源文件中
RetentionPolicy.CLASS:註解存在於源字節碼文件中
RetentionPolicy.RUNTIME:註解存在於運行時
***@Target:註解出現的位置
@Documented: 用於指定被該元 Annotation 修飾的 Annotation 類將被 javadoc 工具提取成文檔.
@Inherited: 被它修飾的 Annotation 將具有繼承性.如果某個類使用了被 @Inherited 修飾的 Annotation, 則其子類將自動具有該註解


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