程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 詳解JDK 5 Annotation 注解之@Target的用法引見

詳解JDK 5 Annotation 注解之@Target的用法引見

編輯:關於JAVA

詳解JDK 5 Annotation 注解之@Target的用法引見。本站提示廣大學習愛好者:(詳解JDK 5 Annotation 注解之@Target的用法引見)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解JDK 5 Annotation 注解之@Target的用法引見正文


媒介

今朝,愈來愈多的架構設計在應用注解,例如spring3.0、struts2等框架。讓我們先來看看注解的界說。以下是一段應用了JDK 5 Annotation @Target的代碼:

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface AsynLog {
 

} 

1、@Target的用法


java.lang.annotation.Target

用於設定注解應用規模

java.lang.annotation.ElementType

Target經由過程ElementType來指定注解可以使用規模的列舉聚集


2、ElementType的用法

取值 注解應用規模 METHOD 可用於辦法上 TYPE 可用於類或許接口上 ANNOTATION_TYPE 可用於注解類型上(被@interface潤飾的類型) CONSTRUCTOR 可用於結構辦法上 FIELD 可用於域上 LOCAL_VARIABLE 可用於部分變量上 PACKAGE 用於記載java文件的package信息 PARAMETER 可用於參數上

這裡重點解釋下:ElementType. PACKAGE。它其實不是應用在普通的類中,而是用在固定的文件package-info.java中。這裡須要強調定名必定是“package-info”。因為package-info.java其實不是一個正當的類,應用eclipse創立類的方法會提醒不正當,所以須要以創立文件的方法來創立package-info.java。

例如,界說可以使用規模PACKAGE:

@Target({ElementType.PACKAGE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface AsynLog {
 
} 

那末,創立文件:package-info.java,內容以下:


@AsynLog
package org.my.commons.logs.annotation;

重點解釋:注解只能在ElementType設定的規模內應用,不然將會編譯報錯。例如:規模只包括ElementType.METHOD ,則注解該注解只能應用在類的辦法上,超越應用規模將編譯異常。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved