在开发中遇到,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

spring aop 和Transaction一起使用执行顺序问题相关推荐

  1. 【Spring Boot入门】AOP基础及Advice的执行顺序

    本文主要分为两个部分,首先介绍AOP的基础,包括为什么要使用AOP以及AOP中的基本概念,然后讲解AOP中各类Advice的执行顺序并给出简单示例. 一.AOP基础 1.为什么要使用AOP AOP(A ...

  2. Spring关于AOP中关于advice的执行顺序

    AOP的核心概念 要完全理解Spring AOP首先要理解AOP的核心概念和术语,这些术语并不是Spring指定的,而且很不幸,这些术语并不能直观理解,但是,如果Spring使用自己的术语,那将更加令 ...

  3. SpringBoot中AOP实现落地——Filter(过滤器)、Intercepter(拦截器)、Aspect(Spring AOP)

    文章目录 一.一切要从Servlet说起 1.1什么是Servlet 1.2为什么需要Servlet 1.3Servlet如何响应用户请求 1.4Servlet与Tomcat处理请求的流程 1.5Se ...

  4. Spring 5 中文解析之核心篇-Spring AOP编程

    技术交流群: 面向切面的编程(AOP)通过提供另一种思考程序结构的方式来补充面向对像的编程(OOP).OOP中模块化的关键单元是类,而在AOP中模块化是切面.切面使关注点(例如事务管理)的模块化可以跨 ...

  5. Spring AOP之pointcut语法

    在文章Spring AOP之术语简介中有提到,pointcut定义了一种模式,用于匹配join point.Spring AOP中使用了AspectJ的pointcut模式定义语言. 声明一个poin ...

  6. 过滤器和拦截器的不同以及执行顺序和使用场景的总结

    文章目录 过滤器filter和拦截器interceptor的比较 执行顺序 使用场景 过滤器filter和拦截器interceptor的比较 之前看过一篇博客有这么一句话: 过滤器是取你所想,拦截器是 ...

  7. 比较Spring AOP与AspectJ

    本文翻译自博客Comparing Spring AOP and AspectJ 介绍 如今有多个可用的AOP库,这些组件需要回答一系列的问题: 是否与我现有的应用兼容? 我在哪实现AOP? 集成到我的 ...

  8. Spring AOP Capability and goals

    5.1.AOP概念 让我们首先定义一些中心AOP概念和术语.这些术语不是特定于Spring的.不幸的是,AOP术语不是特别直观.但是,如果Spring使用自己的术语,那将更加令人困惑. 方面:跨越多个 ...

  9. 9000+ 字,彻底征服 Spring AOP ,美滋滋

    基本知识 其实, 接触了这么久的 AOP, 我感觉, AOP 给人难以理解的一个关键点是它的概念比较多, 而且坑爹的是, 这些概念经过了中文翻译后, 变得面目全非, 相同的一个术语, 在不同的翻译下, ...

  10. 正确理解Spring AOP中的Around advice

    Spring AOP中,有Before advice和After advice,这两个advice从字面上就可以很容易理解,但是Around advice就有点麻烦了. 乍一看好像是Before ad ...

最新文章

  1. bin文件怎么转换成文本文档_怎么把视频文件转换成MP3?这款工具六步帮你实现...
  2. RobotFramework系列(一):RIDE使用教程
  3. AbstractAutowireCapableBeanFactory 类对容器生成的Bean 添加后置处理器
  4. the Differences between abstract class interface in C#接口和抽象类的区别
  5. 新北洋,知识型员工的科学管理
  6. wordpress主题ajax,为自制WordPress主题/插件的后台设置页面添加ajax支持
  7. VirtualBox复制虚拟机
  8. Spring IoC、DI、Bean和自动装配的理解
  9. 小程序 — 保存图片到手机相册①
  10. 防伪拉线 CCD 纠偏控制器
  11. jmobile学习之路 ----检测屏幕宽度
  12. 如何解决Silverlight跨域访问安全性问题
  13. Linux SVN “db/txn-current-lock: Permission denied”
  14. docker更改映射端口(实践篇)
  15. android 点赞手型,在朋友圈,你是哪种点赞型人格?
  16. 用python操作浏览器的三种方式
  17. linux系统读取plc状态,Linux系统下上位机通讯协议及PLC冗余系统组态-工业支持中心-西门子中国...
  18. 在html页面实时显示系统时间
  19. Vmware虚拟机安装黑群辉提示系统可恢复,无限还原,解决办法。
  20. c语言中 %d与%2d与%02d的区别在哪里

热门文章

  1. python 数据预处理 毕设_python 数据预处理 毕设
  2. itchat——使用python登录网页版微信
  3. matlab 文本框方向,ppt文本框文字方向为所有文字旋转的设置方法
  4. php 斗牛 牌型 和 比牌 规则
  5. 关于android的外文论文,毕业论文外文翻译-Android开发
  6. 用迅雷下载百度网盘的文件
  7. Java实现对文件的读与写
  8. BERT模型深度解析
  9. 思维导图-第三章-存货
  10. 郁闷,俺被S3C2416 狠狠的暗算了一把。