Spring Transactional 与 自定义AOP共同使用时,事务不起作用

Q:根据项目需求,需要用到spring aop来进行Service层的参数验证,和操作日志记录。同时又需要对方法进行事务控制,于是就会有方法抛出异常被自定义的aop切面拦截而不执行事务回滚了。
A:使用spring @order 注解可轻易的解决问题。在spring的xml配置文件中,把事务配置的order属性值设置高一点,切面类的order值设置低一点,如图:

spring事务配置
aop切面类

PS:使用的spring版本是4.2.0

你可能感兴趣的:(Spring Transactional 与 自定义AOP共同使用时,事务不起作用)