目錄
一:概念
二:jdk中預定義的一些註解
三:自定義註解
(一)格式
(二)本質
(三)屬性:介面中的抽象方法
(四)元註解:用於描述註解的註解
四:在程式使用(解析)註解:獲取註解中定義的屬性值
五:案例:簡單的測試框架
六: 小結
概念:說明程式的。給計算機看的
注釋:用文字描述程式的。給程式設計師看的
定義:註解(annotation),也叫元資料。一種**級別的說明。它是jdk1.5及以後版本引入的乙個特性,與類、介面、列舉是在同乙個層次。它可以宣告在包、類、字段、方法、區域性變數、方法引數等的前面,用來對這些元素進行說明,注釋。
概念描述:
作用分類:
編寫文件:通過**裡標識的註解生成文件【生成文件doc文件】
**分析:通過**裡標識的註解對**進行分析【使用反射】
編譯檢查:通過**裡標識的註解讓編譯器能夠實現基本的編譯檢查【override】
@override :檢測被該註解標註的方法是否是繼承自父類(介面)的
@deprecated:該註解標註的內容,表示已過時
@suppresswarnings:壓制警告 一般傳遞引數all @suppresswarnings("all")
@suppresswarnings("all")
public class one
@deprecated
public void show1()
public void show2()
public static void main(string args)
}
元註解
public @inte***ce 註解名稱
//元註解
public @inte***ce two
public class twotest
}
註解本質上就是乙個介面,該介面預設繼承annotation介面
屬性的返回值型別有下列取值
基本資料型別
string
列舉(不懂???)
註解(不懂???)
以上型別的陣列
定義了屬性,在使用時需要給屬性賦值
如果定義屬性時,使用default關鍵字給屬性預設初始化值,則使用註解時,可以不進行屬性的賦值。
如果只有乙個屬性需要賦值,並且屬性的名稱是value,則value可以省略,直接定義值即可。
陣列賦值時,值使用{}包裹。如果陣列中只有乙個值,則{}可以省略
public @inte***ce there
public class theretest )
public void stringx()
}
@target:描述註解能夠作用的位置:@target(value=)
elementtype取值:
type:可以作用於類上
method:可以作用於方法上
field:可以作用於成員變數上
@retention:描述註解被保留的階段:@retention(value=retentionpolicy.runtime)
@retention(retentionpolicy.runtime):當前被描述的註解,會保留到class位元組碼檔案中,並被jvm讀取到
@documented:描述註解是否被抽取到api文件中
@inherited:描述註解是否被子類繼承
@target(value = )
@retention(value = retentionpolicy.runtime)
@documented
@inherited
public @inte***ce four
@target(value = elementtype.type)
@retention(value = retentionpolicy.runtime)
public @inte***ce pro
@pro(classname = "sshyes",mothedname = "1101")
public class protest
public string methodname()}*/
//呼叫註解中的抽象方法獲取配置的屬性值
string classname = annotation.classname();
string mothedname = annotation.mothedname();
}}
等等???
以後大多數時候,我們會使用註解,而不是自定義註解
註解給誰用? 1. 編譯器 2. 給解析程式用
註解不是程式的一部分,可以理解為註解就是乙個標籤
框架基礎之Annotation註解
註解 jdk1.5後的新特性 註解 寫給編譯器和虛擬機器的特殊的注釋 通過反射可以獲取註解中都是資料類指揮編譯器的編譯或者干涉虛擬機器的執行 理解 註解代替xml檔案 來記錄配置資訊 程式執行過程中要載入的資料 父介面 annotation 註解關鍵字 inte ce 物件 註解可以引導程式的所有元...
註解簡化SSH框架
bean id sessionfactory class org.springframework.orm.hibernate5.localsessionfactorybean property name datasource ref datasource property name hibernat...
各java框架註解
springmvc註解 spring註解 hibernate註解 controller repository component autowired resource responsebody requestheader cookievalue requestparam requestbody pa...