全部学科
Python全栈
python
NodeJS全栈
nodejs

Spring中级技能认证

20 题 60 分钟 难度:★★

考察知识点

  • Spring AOP高级应用与原理
  • 动态代理机制深入理解
  • Spring事务管理与传播机制
  • 事务隔离级别与回滚策略
  • 声明式事务与编程式事务
💡 参考答案在文末
判断题
1

Spring AOP默认使用JDK动态代理,当目标类没有实现接口时自动切换为CGLIB代理。

A

B

2

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

A

B

单选题
3

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

A

Atomicity(原子性)

B

Isolation(隔离性)

C

Integrity(完整性)

D

Identity(同一性)

4

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

A

所有异常都回滚

B

只有RuntimeException及其子类回滚

C

只有Checked Exception回滚

D

不回滚任何异常

5

在Spring AOP中,控制多个切面执行顺序的正确方式是?

A

使用@Order注解或实现Ordered接口

B

在切面类上添加@Priority注解

C

按切面类名称的字母顺序自动排序

D

无法控制多个切面的执行顺序

6

有两个切面AspectA(@Order(1))和AspectB(@Order(2)),对于同一个连接点,它们的环绕通知执行顺序是?

A

AspectA前置 → AspectB前置 → 目标方法 → AspectB后置 → AspectA后置

B

AspectB前置 → AspectA前置 → 目标方法 → AspectA后置 → AspectB后置

C

AspectA前置 → AspectB前置 → 目标方法 → AspectA后置 → AspectB后置

D

两个切面同时执行,无法确定顺序

7

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

A

总是创建新事务

B

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

C

以非事务方式执行

D

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

8

关于CGLIB代理,以下说法正确的是?

A

CGLIB代理要求目标类必须实现接口

B

CGLIB代理是通过继承目标类来实现的

C

CGLIB代理无法代理final方法

D

CGLIB代理的性能一定比JDK动态代理差

9

使用Spring AOP实现方法执行日志记录,最合适的通知类型是?

A

@Before

B

@After

C

@Around

D

@AfterReturning

10

使用Spring AOP实现方法级别的权限校验,应该选择哪种通知类型?

A

@Before - 在方法执行前进行校验

B

@Around - 可以阻止方法执行

C

@After - 在方法执行后校验

D

@AfterThrowing - 捕获权限异常

11

Spring AOP中,当目标类实现了接口时,默认使用的代理方式是?

A

CGLIB代理

B

JDK动态代理

C

AspectJ编译时织入

D

无代理

12

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

A

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

B

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

C

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

D

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

13

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

A

只能放在类上

B

只能放在方法上

C

可以放在类或方法上

D

可以放在字段上

多选题
14

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

A

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

B

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

C

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

D

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

15

关于JDK动态代理和CGLIB代理的区别,以下说法正确的有?

A

JDK动态代理基于接口实现,CGLIB基于继承实现

B

JDK动态代理只能代理接口方法,CGLIB可以代理类的方法

C

JDK动态代理生成的代理类继承了Proxy类

D

CGLIB可以代理任何类的方法

16

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

A

propagation(传播行为)

B

isolation(隔离级别)

C

timeout(超时时间)

D

readOnly(只读事务)

17

关于多个切面的通知执行顺序,以下说法正确的有?

A

@Before通知按Order值从小到大执行

B

@After通知按Order值从大到小执行

C

@Around通知形成嵌套结构,Order值小的在外层

D

@AfterReturning通知按Order值从小到大执行

填空题
18

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

19

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

20

在Spring AOP中,可以使用____________注解或实现____________接口来控制多个切面的执行顺序,数值越____________的切面优先级越高。

参考答案
1.正确 2.正确 3.B 4.B 5.A 6.A 7.B 8.B 9.C 10.A 11.B 12.A 13.C 14.A;B;C;D 15.A;B;C 16.A;B;C;D 17.A;B;C 18.原子性;一致性;隔离性 19.propagation;isolation;rollbackFor 20.@Order;Ordered;小
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 Spring 源码级原理专项测试
下一套试卷 → Spring入门基础专项测试
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码