1、创建日志注解
@Target({ElementType.METHOD})//方法注解 @Retention(RetentionPolicy.RUNTIME)//运行时可见 pulic @interface LogAnno{ //操作类型 增删改查 String czType() default ""; //备注 String remarks() default ""; }
2、循环通知的方法
@Component @Aspect pulic class LogAopAspect{ @Aound("@annotation(LogAnno的路劲)") public Object aroundAdvice(ProceedingJoinPoint pip) throws Throwable{ //1、方法执行前通知,相当于前置通知 //获取方法签名 MethodSignature ms = (MethodSignature )pip.getSignature(); //获取方法 Method method = ms.getMethod(); //获取方法上面的注解 LogAnno la = method.getAnnotation(LogAnno.class); //获取注解上面的属性 //操作类型 增删改查 String type = la.getczType(); Object reO = null; try{ //代理方法执行 reO = pip.proceed(); //方法执行完,相当于后置通知 System.out.println("方法执行完,相当于后置通知"); }catch(Exception e){ System.out.println("抛出异常"); throw e; }finally{ System.out.println("最终执行"); } result reO; } }
3、将注解放到方法上面
@LogAnno(czType=“新增”)