全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 20 道配套习题

Spring 事务专题

专题说明

本专题系统讲解Spring事务管理的核心内容,包括事务ACID属性、传播机制、隔离级别、声明式事务配置及事务失效场景分析。

学习目标

  1. 理解事务ACID属性的含义
  2. 掌握七种事务传播机制的行为
  3. 了解四种隔离级别解决的问题
  4. 学会声明式事务的正确配置
  5. 掌握事务失效的常见场景和解决方案

学习内容

  • ACID属性:原子性、一致性、隔离性、持久性
  • 传播机制:REQUIRED、REQUIRES_NEW、SUPPORTS等
  • 隔离级别:DEFAULT、READ_UNCOMMITTED等
  • @Transactional注解配置
  • 事务失效场景:内部调用、异常类型等

学习建议

事务传播机制是面试高频考点,务必深入理解每种传播行为的含义。事务失效场景是实际开发常见问题,需要掌握解决方案。

📝 发现内容有误?点击此处直接编辑

📝 配套习题(20 题)

1
单选题

事务的ACID属性中,I代表的是?

A

Atomicity(原子性)

B

Isolation(隔离性)

C

Integrity(完整性)

D

Identity(同一性)

2
单选题

关于事务原子性的描述,以下说法正确的是?

A

事务中的所有操作要么全部执行成功,要么全部不执行

B

事务执行过程中可以部分成功部分失败

C

原子性要求事务必须立即执行完毕

D

原子性只适用于单个数据库操作

3
多选题

事务的ACID属性中,以下描述正确的有?

A

原子性保证事务操作的不可分割性

B

一致性保证数据库状态转换的正确性

C

隔离性解决多个事务并发执行的问题

D

持久性保证事务提交后数据不会丢失

4
填空题

事务的四个基本属性称为ACID,分别是______(Atomicity)、______(Consistency)、______(Isolation)和______(Durability)。

5
单选题

@Transactional注解可以放在以下哪个位置使其生效?

A

只能放在类上

B

只能放在方法上

C

可以放在类或方法上

D

可以放在字段上

6
单选题

@Transactional注解的rollbackFor属性默认值是?

A

所有异常都回滚

B

只有RuntimeException及其子类回滚

C

只有Checked Exception回滚

D

不回滚任何异常

7
多选题

@Transactional注解包含以下哪些核心属性?

A

propagation(传播行为)

B

isolation(隔离级别)

C

timeout(超时时间)

D

readOnly(只读事务)

8
填空题

@Transactional注解中,___________属性设置事务传播行为,_________属性设置隔离级别,___________属性指定触发回滚的异常类型。

9
判断题

使用@Transactional注解需要配置事务管理器,否则事务不会生效。

A

B

10
单选题

Spring事务传播行为REQUIRED的特点是?

A

总是创建新事务

B

如果当前存在事务则加入,否则创建新事务

C

以非事务方式执行

D

必须在事务中执行,否则抛异常

11
单选题

REQUIRES_NEW传播行为的特点是?

A

加入当前事务

B

挂起当前事务,创建新事务执行

C

以非事务方式执行

D

抛出异常表示不支持事务

12
单选题

REQUIRED和REQUIRES_NEW的主要区别是?

A

REQUIRED会加入外部事务,REQUIRES_NEW创建独立事务

B

REQUIRED不支持嵌套,REQUIRES_NEW支持嵌套

C

REQUIRED性能更好,REQUIRES_NEW性能较差

D

REQUIRED只能单事务,REQUIRES_NEW只能多事务

13
多选题

Spring提供的传播行为类型包括以下哪些?

A

REQUIRED(默认)

B

REQUIRES_NEW

C

SUPPORTS

D

NESTED

14
多选题

关于事务传播行为的应用场景,以下说法正确的有?

A

业务主流程适合使用REQUIRED传播行为

B

日志记录适合使用REQUIRES_NEW独立提交

C

查询方法适合使用SUPPORTS或REQUIRED

D

MANDATORY适合必须在外部事务中调用的方法

15
填空题

设置事务传播行为使用propagation属性,最常用的________表示加入或创建事务,____________表示创建独立事务,________表示支持事务但不强制。

16
判断题

Spring事务传播行为REQUIRED是默认值,如果当前存在事务就加入,不存在就创建新事务。

A

B

17
单选题

Spring默认的事务隔离级别是?

A

READ_UNCOMMITTED(读未提交)

B

READ_COMMITTED(读已提交)

C

REPEATABLE_READ(可重复读)

D

SERIALIZABLE(串行化)

18
单选题

脏读是指一个事务读取到了?

A

其他事务未提交的数据

B

其他事务已提交的数据

C

自己事务修改的数据

D

数据库备份的数据

19
单选题

不可重复读和幻读的区别是?

A

不可重复读是数据被修改,幻读是数据被新增或删除

B

不可重复读是新增数据,幻读是修改数据

C

两者是相同的问题

D

不可重复读发生在读未提交,幻读发生在读已提交

20
多选题

READ_COMMITTED隔离级别可以解决以下哪些问题?

A

脏读

B

不可重复读

C

幻读

D

丢失更新

← 上一个专题 Spring Bean管理专题
下一个专题 → Spring 容器扩展点专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库