• 环绕通知@Around


    1.环绕通知需要在方法的参数中指定JoinPoint的子接口类型ProceedingJoinPoint为参数
      @Around(value="pointCut()")
      public void around(ProceedingJoinPoint joinPoint){
      }
     2.环绕通知会将其他4个通知能干的,自己都给干了!
      注意:@Around修饰的方法一定要将方法的返回值返回!本身相当于代理!
      
      @Around(value="pointCut()")
      public Object around(ProceedingJoinPoint joinPoint){
       Object[] args = joinPoint.getArgs();
       Signature signature = joinPoint.getSignature();
       String methodName = signature.getName();
       List<Object> list = Arrays.asList(args);
       Object result = null;
       try {
        //目标方法之前要执行的操作
        System.out.println("[环绕日志]"+methodName+"开始了,参数为:"+list);
        //调用目标方法
        result = joinPoint.proceed(args);
        //目标方法正常执行之后的操作
        System.out.println("[环绕日志]"+methodName+"返回了,返回值为:"+result);
       } catch (Throwable e) {
        //目标方法抛出异常信息之后的操作
        System.out.println("[环绕日志]"+methodName+"出异常了,异常对象为:"+e);
        throw new RuntimeException(e.getMessage());
       }finally{
        //方法最终结束时执行的操作!
        System.out.println("[环绕日志]"+methodName+"结束了!");
       }
       return result;
      }

  • 相关阅读:
    SpringMVC【二、项目搭建】
    SpringMVC【一、概述】
    VUE【四、组件】
    VUE【三、指令】
    VUE【二、选项和生命周期】
    VUE【一、概述】
    BootStrap【四、插件】
    BootStrap【三、组件】
    BootStrap【二、样式】
    C#+ArcEngine创建企业数据库、连接及相关
  • 原文地址:https://www.cnblogs.com/Ysuwade/p/7449804.html
Copyright © 2020-2023  润新知