Spring事务七种传播行为的快速记忆方法

您所在的位置:网站首页 subject快速记忆方法 Spring事务七种传播行为的快速记忆方法

Spring事务七种传播行为的快速记忆方法

2023-05-22 12:07| 来源: 网络整理| 查看: 265

看别人写的Spring事务传播行为详解,洋洋洒洒很多字,看完还是记不住。

如何快速记忆理解还是颇有难度的。

方法一: 类型名说明PROPAGATION_REQUIRED如果当前没有事务,就新建一个事务;如果已经存在一个事务,则加入到这个事务中。(默认情况)PROPAGATION_REQUIRES_NEW新建事务,如果当前存在事务,则把当前事务挂起。PROPAGATION_SUPPORTS支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_NOT_SUPPORTED以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。PROPAGATION_MANDATORY使用当前的事务,如果当前没有事务,就抛出异常。PROPAGATION_NEVER以非事务方式执行,如果当前存在事务,则抛出异常。PROPAGATION_NESTED如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

观察类型名称,你会发现有点小规律。

两个REQUIRED,一定有事务,带NEW的总是自己建自己的事务。不带NEW的,有就加入,没有才建。

两个SUPPORTS,有就用,没有就拉到。带NOT的,直接不用。

剩下的,

MANDATORY,强制的意思,必须用,语气强烈,没有就异常。

NEVER,从不,就不用,语气强烈,有就异常。

NESTED,嵌套的意思,有,建嵌套事务。没有,新建普通事务。

方法二:

PROPAGATION_REQUIRED,有个需要,那肯定得有事务,没有就新建。

PROPAGATION_REQUIRES_NEW,需要新的,有,我也得新建个新的。

PROPAGATION_SUPPORTS,支持,我就只是支持嘛,你有,我就用,没有就拉到。

PROPAGATION_NOT_SUPPORTED,不支持,你有我就挂起,就是不用。

剩下三个和方法1一样。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3