EJB的部署人員無法了解EJB本身的信息,假如EJB組件的創建者用注釋(Annotation)的方法將這些配置服務的信息和代碼放在一起,這樣EJB的部署者就可以了解EJB的信息,EJB的home接口可以使用Annotation自動生成,當然到目前為止更好的是在簡單的java Object上使用Annotations。
一 什么是Annotation
在已經發布的JDK1.5(tiger)中增加新的特色叫 Annotation。Annotation提供一種機制,將程序的元素如:類,方法,屬性,參數,本地變量,包和元數據聯系起來。這樣編譯器可以將元數據存儲在Class文件中。這樣虛擬機和其它對象可以根據這些元數據來決定如何使用這些程序元素或改變它們的行為。
二 定義一個簡單的Annotation并使用它
1.定義Annotation
定義一個Annotation是什么簡單的,它采取的是類似于Interface的定義方式: “@+annotation類型名稱+(..逗號分割的name-value對...)”
//Example 1@Retention這個meta-annotation表示我們創建的SimpleAnnotation這個Annotation將會存儲在Class文件中,并在java
VM運行時加載它。@Target這個meta-annotation表示我們創建的SimplwAnnotation將會為描述方法,而@interface SimpleAnnotation是我們自定義的Annotation,它有一個成員叫value,返回值是String。
2.使用Annotation
//Example 2一個Annotation用于程序元素(在本例中是method),在method方法之前用(@Annotation名稱(name=value,name=value.....)。在本例中是@SimpleAnnotation(value="Pass:This method will Pass")。每個annotation具有一個名字和成員個數>=0,當只有一個單一的成員時,這個成員就是value。我們也可以這樣寫 @SimpleAnnotation("Fail:This method will Fail")。至此@SimpleAnnotation將Pass和Fail聯系起來了。
3.在運行時訪問Annotation
一旦Annotation與程序元素聯系起來,我們可以通過反射訪問它們并可以取得它們的值。我們使用一個新的interface:java.lang.reflect.AnnotatedElement。java.lang.reflect.AnnotatedElement接口中的方法有:
新聞熱點
疑難解答