我们再做spring boot项目的时候,经常需要在一个service层调用多个dao层,操作不同的数据库表来实现业务,这个时候要对事务进行一个统一的过程,spring boot提供了这种支持。
- 首先需要在service层添加:@Transactional 开启事务控制
- 在需要控制的方法上添加注解:@Transactional(rollbackFor = Exception.class)(这个如果在类上面声明的话,可以不需要单独在防范上声明)
3. 一定要注意的一点是,一定要在事务控制的方法上把异常抛出去,spring捕获异常后,对事务进行回滚,如果我们自己catch异常后,spring不会帮我们处理