Spring 的 AOP 进行事务管理的一些问题

时间:2023-03-09 12:51:18
Spring 的 AOP 进行事务管理的一些问题

AspectJ AOP事务属性的配置(隔离级别、传播行为等):

<tx:advice id="myAdvice" transaction-manager="mtTxManager">
<tx:attributes>
<tx:method name="open*" isolation="DEFAULT" propagation="REQUIRED"/>
<tx:method name="buyStock" isolation="DEFAULT" propagation="REQUIRED" rollback-for="util.MyException"/>
</tx:attributes>
</tx:advice>

其中 rollback-for表示接收到这些异常应该进行回滚,使用简单类名也可以。

AOP不起作用的原因:

1、切入点表达式错误

2、AspectJ自动代理时,配置文件或配置类中忘记添加aop:aspectj-autoproxy/