1.建立一個註解類java
/** * 權限管理註解 */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public @interface Authority { String module(); String permission(); }
@Target 表示該註解能夠用於什麼地方,可能的ElementType參數有:.net
CONSTRUCTOR:構造器的聲明code
FIELD:字段聲明(包括enum實例)繼承
LOCAL_VARIABLE:局部變量聲明接口
METHOD:方法聲明rem
PACKAGE:包聲明get
PARAMETER:參數聲明編譯器
TYPE:類、接口(包括註解類型)或enum聲明it
@Retention 表示須要在什麼級別保存該註解信息。可選的RetentionPolicy參數包括:io
@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 + "的圖書" ); }