在项目开发过程中,事务机制扮演着关键角色。大多数业务流程由多个操作步骤组成,这些步骤必须作为一个整体来执行——要么全部成功,要么全部回滚,从而保障数据的一致性与业务逻辑的正确性,防止因部分执行导致的数据异常或不一致问题。
1、 首先将用户信息插入数据库,随后触发一个 1 除以 0 的运算引发运行时异常,最后尝试写入日志记录。整个流程未启用事务管理,各操作独立提交。

2、 启动服务并调用对应接口后,控制台抛出“/ by zero”异常提示。

3、 查询数据库发现,user 表中已存在新增记录,说明异常发生前的插入操作已被持久化。

将 Spring Boot 2.7 项目升级到 Spring Boot 3.5 的实战流程,覆盖版本基线、依赖坐标替换、Jakarta 迁移、配置兼容、异步上下文传递改造与验证门禁。用于企业多模块 Maven 项目升级与排障。
4、 而日志表中无任何新增记录,表明异常发生后,后续的日志保存操作未能执行或未被提交。
5、 此时系统处于数据不一致状态:用户信息已写入,但日志缺失,违背了“全有或全无”的原子性原则。

6、 在方法上添加 @Transactional 注解,启用 Spring 的声明式事务管理,即可实现操作的统一控制,确保异常时自动回滚。

7、 重启应用并再次调用接口,经验证 user 表与日志表均无新增数据,证实事务已正常生效,所有操作被整体回滚。










