在spring的aop编程中,会有以下几种通知类型:
前置通知 (@Before) 。
返回通知 (@AfterReturning) 。
异常通知 (@AfterThrowing) 。
后置通知 (@After)。
环绕通知 (@Around) :(优先级最高)
如果切面中通知定义了以上所有通知,那么最先执行的是环绕通知。即程序会最先执行环绕通知around中proceedingJoinPoint.proceed()方法前的代码,然后执行前置通知before,然后执行目标方法,然后执行环绕通知around中proceedingJoinPoint.proceed()方法后的代码,然后执行after方法。最后根据after是否有异常,执行afterReturning或者afterThrowing方法。