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/