java自定義註解類

1.建立一個註解類java

/**
 * 權限管理註解
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface Authority {
     String module();
     String permission();
}

@Target  表示該註解能夠用於什麼地方,可能的ElementType參數有:.net

  1. CONSTRUCTOR:構造器的聲明code

  2. FIELD:字段聲明(包括enum實例)繼承

  3. LOCAL_VARIABLE:局部變量聲明接口

  4. METHOD:方法聲明rem

  5. PACKAGE:包聲明get

  6. PARAMETER:參數聲明編譯器

  7. TYPE:類、接口(包括註解類型)或enum聲明it

@Retention  表示須要在什麼級別保存該註解信息。可選的RetentionPolicy參數包括:io

  1. SOURCE:註解將被編譯器丟棄
  2. CLASS:註解在class文件中可用,但會被VM丟棄
  3. RUNTIME:VM將在運行期間保留註解,所以能夠經過反射機制讀取註解的信息

@Documented   將註解包含在Javadoc中

@Inherited     容許子類繼承父類中的註解

 

2.使用註解

@Authority(module = "authority",permission = "save")
public void save(Book book) {
	System.out.println("保存圖書信息:" + book);
	throw new RuntimeException("發生異常了");
}

@Authority(module = "authority",permission = "remove")
public void remove(Integer id) {
	System.out.println("刪除id爲" + id + "的圖書" );
}
相關文章
相關標籤/搜索