SpringBoot事务管理

事务管理java

  • 【1】SpringBoot事务管理
    • 1)用法
    • 2)事务属性-回滚
    • 3)事务属性-传播行为
      • 1)定义
      • 2)propagation相关的属性值 以及其含义

【1】SpringBoot事务管理

1)用法

  • 注解:@Transactional
  • 位置:业务(service)层的方法上、类上、接口上
  • 作用:将当前方法交给spring进行事务管理,方法执行前,开启事务,成功执行完毕,提交事务,出现异常,回滚事务

2)事务属性-回滚

默认情况下,只有出现 RuntimeException 【比如1/0】才回滚异常。rollbackFor属性用于控制出现何种异常类型,回滚事务。

/**
     * 根据Id删除部门
     * */
    @Transactional(rollbackFor = Exception.class)//Spring进行事物管理,rollbackFor = Exception.class表示所有的异常都进行回滚
    @Override
    public void delete(Integer id) {

        //删除部门的数据
        deptMapper.deleteById(id);

        //连锁删除该部门下的员工信息
        empMapper.deleteByDeptId(id);
    }

3)事务属性-传播行为

1)定义

定义:事务传播行为:指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行事务控制。

2)propagation相关的属性值 以及其含义

SpringBoot事务管理_第1张图片
场景

  • REQUIRED:大部分情况下都是用该传播行为即可。
  • REQUIRESNEW:当我们不希望事务之间相互影响时,可以使用该传播行为。比如:下订单前需要记录日志,不论订单保存成功与否,都需要保证日志记录能够记录成功。

你可能感兴趣的:(JAVAWeb,spring,boot,java,后端)