spring 事务处理小工具

问题描述:

1. spring 事务管理中@Transactional 注解在类的内部方法(未暴露给外界调的方法)使用,不会回滚事务

2. spring 事务管理 @Transactional 注解如果没有定义rollbackfor类型,受检异常的抛出不会导致事务回滚。

问题示例1:

再外界调用方法printTiger(),虽然内部方法抛出了异常,事务不会回滚。导致db还是插入了一条记录。

问题示例2:

解决方案:

编写一个工具类,遇到异常手动回滚事务。

工具类如下:

测试代码如下:

当testInsert方法抛出错误的时候,小工具内部将事务回滚。

猜你喜欢

转载自blog.csdn.net/diy0118/article/details/88538913