如何快速记忆Spring事务隔离级别和传播行为?

今天在看Spring揭秘,看到事务一章,看完啥也记不住,太杂了,老是记不住咋整。
怎么理解着记忆呐?

1.整理笔记,把这些知识点记下来,经常看看,不需要背下来,重在理解,这种只有在面试的是会问到

Spring 事务隔离级别和传播行为是 Spring 事务管理中比较基础但也比较重要的概念。以下是一些快速记忆的技巧:

事务隔离级别 (isolation level):

Default - 使用数据库的默认隔离级别
Read Uncommitted - 允许读取未提交的数据, 无锁定
Read Committed - 只允许读取已提交的数据, 避免脏读
Repeatable Read - 确保一个事务中多次读取同样的数据结果相同, 避免不可重复读取 (Non-repeatable Read)
Serializable - 最高的隔离级别, 确保事务之间彼此不会产生影响
可以用“D، R、R、R、S”这个首字母缩写作为记忆方法。

事务传播行为 (propagation behavior):

REQUIRED - 如果当前没有事务,就新建一个事务。如果已经存在一个事务中,加入这个事务中
SUPPORTS - 如果当前有事务,则加入这个事务中。如果当前没有事务,则以非事务的方式继续运行
MANDATORY - 该传播行为规定当前方法必须在一个已经存在的事务中执行,否则将抛出异常
REQUIRES_NEW - 创建一个新的事务,如果当前存在事务,则将当前事务挂起
NOT_SUPPORTED - 以非事务方式执行操作,如果当前存在事务则将其挂起
NEVER - 以非事务方式运行,如果当前存在事务,则抛出异常
NESTED - 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,就新建一个事务
可以使用“R、S、M、RN、NS、N、N(嵌套)”这个首字母缩写作为记忆方法。

在实践中,您应该根据项目的需求来选择正确的隔离级别和传播行为。记忆这些基本概念只是一个起点。在处理实际的业务问题时,您需要根据具体情况来理解和使用它们。