关于 声明式事务 配置 的
noRollbackFor
rollbackFor
这两个属性的作用 我感到很困惑?
1. 数据库数据
book_stock数据表
account 数据表
2. 事务方法:
3. 测试方法:
@Test
public void testBookShopService() {
bookShopService.purchase("Mike", "1001");
}情况一:当 noRollbackFor 设置为UserAccountException.class 时,
运行结果是:
book_stock数据表
account 数据表
情况二:当 noRollbackFor 设置为BookStockException.class 时,
运行结果是:
book_stock数据表
account 数据表
情况三:当 rollbackFor 无论设置为:BookStockException.class
or
UserAccountException.class时,
运行结果收是:
book_stock数据表
account 数据表
按照我的理解:
rollbackFor : 设置了那个异常,代表那个异常的问题会回滚
noRollbackFor :
设置了那个异常,代表那个异常的问题不会回滚
but,上面的运行结果且不是这样反映的?
why?

本文探讨了Spring声明式事务管理中noRollbackFor与rollbackFor属性的使用与实际效果之间的差异,通过具体示例展示了这两种属性如何影响事务的回滚行为。
1392

被折叠的 条评论
为什么被折叠?



