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 + "的图书" ); }