- 0
- 0
- 约4.24千字
- 约 6页
- 2026-09-21 发布于河北
- 举报
Spring事务管理高频面试题及详细答案
1、什么是Spring事务?为什么要用Spring事务?
参考答案:
Spring事务是Spring框架对数据库事务的统一封装管理,核心是保证数据库操作的原子性、一致性、隔离性、持久性,也就是ACID特性。
原生JDBC事务需要手动开启、提交、回滚、关闭连接,代码冗余度极高,且事务管控不灵活。而Spring事务通过声明式、编程式两种方式,简化事务开发,统一事务管理规范,还能适配不同的数据库、ORM框架(MyBatis、JPA等)。
核心使用目的:避免业务操作中出现部分成功、部分失败的数据不一致问题,比如转账、订单创建、库存扣减等核心业务,确保一组数据库操作要么全部成功,要么全部回滚。
2、Spring事务的两种实现方式?各自优缺点?
参考答案:
Spring事务分为编程式事务和声明式事务两种。
(1)编程式事务
手动通过代码控制事务的开启、提交、回滚,核心使用TransactionTemplate或者PlatformTransactionManager实现。
优点:粒度细,可以精准控制某几行代码的事务范围,灵活性极高。
缺点:代码侵入性强,业务代码和事务代码耦合,冗余代码多,实际项目中极少使用。
(2)声明式事务
基于AOP实现,通过注解(@Transactional)或者XML配置实现事务管理,无需手动写事务控制代码。
优点:无代码侵入
原创力文档

文档评论(0)