spring boot aop 事务处理

@Translational 描述的方法是一个事务切入点方法
方法执行之前会开启事务
执行之后会提交或回滚事务
由DataSourceTransactionManager封装具体事务实现

/**

  • 在业务层对象的类上添加了@Transactional注解,表示类中所有方法都要进行事务控制:
  • 1)开启事务
  • 2)执行目标方法
  • 3)提交或回滚事务
  • FAQ?
  • 1)事务属性timeout的含义是什么?是否允许事务超时,默认不允许(-1),一直等.
  • 2)事务属性rollbackFor表示什么?出现什么异常事务要回滚
  • 3)事务属性readOnly含义是什么?这里的事务是否为只读事务.(只读事务中不允许执行更新操作)
  • 4)事务属性isolation含义是什么?用于设置隔离级别I(多个事务并发执行时可能会出现什么问题?-脏读,不可重复读,幻读)

*/

@Transactional(timeout =60,rollbackFor =  Throwable.class,readOnly = false
              ,isolation = Isolation.READ_COMMITTED,
               propagation = Propagation.REQUIRED)

方法上的优先级高于类上的
@Transactional(noRollbackFor = ServiceException.class)

上一篇:@Transactional


下一篇:spring事务配置