测试代码如下:
运行结果如下:
数据库数据:
可以看到此时数据是没有回滚的,因为声明式事物是由AOP实现的,如上代码add方法是通过代理来执行的,而test方法是通过this来调用的,所以发生异常之后没有回滚.
改成如下:
运行结果:
此时已经回滚了.
或者改成如下直接调用test方法:
运行结果如下:
这时test方法是通过代理运行的事务回滚了.
测试代码如下:
运行结果如下:
数据库数据:
可以看到此时数据是没有回滚的,因为声明式事物是由AOP实现的,如上代码add方法是通过代理来执行的,而test方法是通过this来调用的,所以发生异常之后没有回滚.
改成如下:
运行结果:
此时已经回滚了.
或者改成如下直接调用test方法:
运行结果如下:
这时test方法是通过代理运行的事务回滚了.