博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring aop 和Transaction一起使用执行顺序问题
阅读量:6605 次
发布时间:2019-06-24

本文共 930 字,大约阅读时间需要 3 分钟。

  hot3.png

在开发中遇到,aop拦截事物方法,先执行了,自己写的切面,Transaction还没提交

原因:spring Transaction也是aop实现,spring 先执行了自己定义的切面aop

解决方法:设置aop执行顺序,order越小越先执行

<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" order="0"/>

@Component

@Aspect
@Order(1)
public class YourAspect

 

 

网上摘抄了一段各注解执行顺序,待测

Spring 中通知的类型:

Around     org.aopalliance.intercept.MethodInterceptor                栏截对目标对象方法的调用 

Before      org.springframework.aop.MethodBeforAdvice             在目标方法被调用之前调用    
After          org.springframework.aop.AfterReturningAdvice          当目标方法被调用之后调用

Thorws    org.springframework.aop.ThrowsAdvice                       当目标方法抛出异常时调用

程序正常执行顺序:

执行前 -环绕通知                                              Around

执行前 - 通知                                                    Before

POINT - 切入点 方法前执行                               @Before

POINT - 切入点 环绕方法前执行                       @Around

POINT - 切入点 方法后执行                               @AfterReturning

POINT - 切入点 环绕方法后执行                       @Around

执行后 - 通知                                                    After        

执行后 - 环绕通知                                            Around

程序抛出异常执行顺序:

执行前 -环绕通知                                              Around

执行前 - 通知                                                    Before

POINT - 切入点 方法前执行                               @Before

POINT - 切入点 环绕方法前执行                       @Around

切入点异常处理通知                                             @AfterThrowing

异常处理通知                                                          Thorws

转载于:https://my.oschina.net/yugj/blog/615396

你可能感兴趣的文章
HDUPhysical Examination(贪心)
查看>>
HTML5 FileAPI
查看>>
使用tdcss.js轻松制作自己的style guide
查看>>
发布《iBoard 电子学堂》DEMO代码
查看>>
SecureCRTPortable.exe 如何上传文件
查看>>
C++中public、protected及private用法
查看>>
苹果公司的产品已用完后门与微软垄断,要检查起来,打架!
查看>>
oracle服务器和客户端字符集的查看和修改
查看>>
顶级的JavaScript框架、库、工具及其使用
查看>>
AYUI -AYUI风格的 超美 百度网盘8.0
查看>>
简明 Python 教程
查看>>
Photoshop操作指南
查看>>
用MPMoviePlayerController做在线音乐播放
查看>>
ASP.NET调用cmd命令提示符拒绝访问解决方案
查看>>
Leetcode: Construct Binary Tree from Preorder and Inorder Transversal
查看>>
嵌入式开发之字符叠加---gb2313 国标码,utf8 国际码,unicode 无码
查看>>
Java查找算法——二分查找
查看>>
如何构建微服务架构
查看>>
【前端笔记】彻底理解变量与函数的声明提升
查看>>
iOS - 多链式动画框架 LSAnimator
查看>>