当前位置: 165平板网 > 热点资讯 > 行业观察 > 正文

Spring AOP中定义切点(PointCut)和通知(Advice)(11)

http://www.com165.com 时间:2016-10-28 13:16来源:未知

  • 在标注中设置切点的定义

  • 创建环绕通知

      环绕通知相比其它四种通知有其特殊之处。环绕通知本质上是将前置通知、后置通知和异常通知整合成一个单独的通知。

      用@Around标注的方法,该方法必须有一个ProceedingJoinPoint类型的参数,比如上面代码中的recordTime的签名:

      public Object recordTime(ProceedingJoinPoint pjp) throws Throwable

      在方法体中,需要通过这个参数,以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));

    【免责声明】本文仅代表作者个人观点,与165平板网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件内容有任何疑问或质疑,请联系本网将迅速给您回应并做处理。