在实际项目中,我们通常会基于注解和AOP实现系统日志功能,即记载用户调用标有日志注解的方法的一些使用信息。使用注解完成该功能还是走注解三板斧流程,链接可查看2.基础加强版面试题 - 求知律己 - 博客园 (cnblogs.com)中第四节中的注解。
1.定义注解
定义注解其实就是创建一个注解,定义其是否被Javadoc工具编译成文档(@Document),注解可以使用的地方(@Target),注解的有效期(@Retention),注解是否可被子类继承(@Inherit)。
@Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface OperateLog { //信息 String message() default ""; //模块名 String modular() default ""; //业务类型(0:其他 1:新增 2:修改 3:删除) public BusinessType businessType() default BusinessType.OTHER; //操作类型(0 成功、1失败) String operateType() default ""; //操作明细 String operateDetailsType() default ""; }
2.使用注解
使用注解其实就是将注解标注在哪些地方使用。

上述图片中,箭头指向的地方表示注解使用在方法上,其实在定义注解的代码中已经通过@Target(ElementType.Method)标识注解使用在方法上。
3.为注解注入灵魂