zoukankan      html  css  js  c++  java
  • spring中环绕通知的用法

    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("最终通知");
            }
        }
    
    记得快乐
  • 相关阅读:
    我来解数独(附delphi源码)
    jquery(三)
    jquery(二)
    jquery(一)
    前端之JS(五)
    前端之JS(四)
    前端之JS(三)
    前端之JS(二)
    前端之CSS(三)
    前端之CSS(二)
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13822283.html
Copyright © 2011-2022 走看看