切面方法的执行时机

在spring的aop编程中,会有以下几种通知类型:

前置通知 (@Before) 。
返回通知 (@AfterReturning) 。
异常通知 (@AfterThrowing) 。
后置通知 (@After)。
环绕通知 (@Around) :(优先级最高)

如果切面中通知定义了以上所有通知,那么最先执行的是环绕通知。即程序会最先执行环绕通知around中proceedingJoinPoint.proceed()方法前的代码,然后执行前置通知before,然后执行目标方法,然后执行环绕通知around中proceedingJoinPoint.proceed()方法后的代码,然后执行after方法。最后根据after是否有异常,执行afterReturning或者afterThrowing方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容