Spring Boot入门|第四篇:Spring Boot事务支持

这是我参与8月更文挑战的第4天,活动详情查看: 8月更文挑战

✔上一篇Spring Boot系列文章 我们说到了 SpringBoot集成MyBatis,今天来说说Spring Boot 事务支持

?Spring Boot 事务支持

?什么是事务?

我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成,之前成功操作数据的并不可靠,需要在这种情况下进行回退。

事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进行操作的状态。

事务管理是Spring框架中最为常用的功能之一,我们在使用Spring Boot开发应用时,大部分情况下也都需要使用事务。

Spring Boot 使用事务非常简单,底层依然采用的是 Spring 本身提供的事务管理

➢ 在入口类中使用注解 @EnableTransactionManagement 开启事务支持

➢ 在访问数据库的 Service 方法上添加注解 @Transactional 即可

?1、案例思路

通过 SpringBoot +MyBatis 实现对数据库学生表的更新操作,在 service 层的方法中构建

异常,查看事务是否生效

项目名称:012-springboot-web-mybatis-transacation

该项目是在 011 的基础上添加新增方法,在新增方法中进行案例的演示

?2、实现步骤

接着上篇文章

(9) 在 StudentController 中添加更新学生的方法

(10) 在 StudentService 接口中添加更新学生方法

(11) 在 StudentServiceImpl 接口实现类中对更新学生方法进行实现,并构建一个异常,同时在该方法上加@Transactional 注解

(12) 在 Application类上加@EnableTransactionManagement 开启事务支持

@EnableTransactionManagement 可选,但是业务方法上必须添加@Transactional 事务才生效

(13) 启动 Application,通过浏览器访问进行测试

通过以上结果,说明事务起作用了

(14) 注释掉 StudentServiceImpl 上的@Transactional 测试数据库的数据被更新

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享