开发者社区 问答 正文

Spring AOP中环绕通知需要什么调用方式?

已解决

Spring AOP中环绕通知需要什么调用方式?

展开
收起
去校区学技术 2022-04-01 07:15:11 624 分享 版权
1 条回答
写回答
取消 提交回答
  • 推荐回答

    在方法体中,需要通过这个参数,以joinPoint.proceed();的形式调用目标方法。注意在环绕通知中必须进行该调用,否则目标方法本身的执行就会被跳过。

    比如在recoredTime的实现中:

    long start = System.currentTimeMillis();
    Object retVal = pjp.proceed();
    long duration = System.currentTimeMillis() - start;
    System.out.println(String.format("time for booking flight is %d seconds", duration));
    

    在目标方法调用前首先记录系统时间,然后通过pjp.proceed()调用目标方法,调用完之后再次记录系统时间,即可计算出目标方法的耗时。

    2022-04-01 07:15:58
    赞同 展开评论