spring环绕通知 通过实例解析spring环绕通知原理及用法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

spring环绕通知 通过实例解析spring环绕通知原理及用法

Y_wee   2021-03-15 我要评论
想了解通过实例解析spring环绕通知原理及用法的相关内容吗,Y_wee在本文为您仔细讲解spring环绕通知的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:spring,环绕通知,下面大家一起来学习吧。

环绕通知:

它是spring框架为我们提供的一种可以在代码中手动控制增强部分什么时候执行的方式。

问题:

当我们配置了环绕通知之后,增强的代码执行了,业务核心方法没有执行。

分析:

通过动态代理我们知道在invoke方法中,有明确调用业务核心方法:method.invoke()。

我们配置的环绕通知中,没有明确调用业务核心方法。

解决:

spring框架为我们提供了一个接口:ProceedingJoinPoint,它可以作为环绕通知的方法参数在环绕通知执行时,spring框架会为我们提供该接口的实现类对象,我们直接使用就行。该接口中有一个方法proceed(),此方法就相当于method.invoke()

代码:

  /**
   * 环绕通知
   */
  public void aroundInform(ProceedingJoinPoint pjp){
    System.out.println("前置通知");
    try {
      pjp.proceed();
      System.out.println("后置通知");
    } catch (Throwable throwable) {
      System.out.println("异常通知");
    }finally {
      System.out.println("最终通知");
    }
  }

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们