[豪の学习笔记] Spring框架学习碎碎念#3

事务管理

​ 事务是一组操作的集合,它是一个不可分割的工作单位,这些操作要么同时成功,要么同时失败

//开启事务(一组操作开始前,开启事务)
start transaction / begin ;

//提交事务(这组操作全部成功后,提交事务)
commit ;

//回滚事务(中间任何一个操作出现异常,回滚事务)
rollback ;

Spring事务管理

  • 注解:@Transactional
  • 位置:Service层的方法上、类上、接口上
  • 作用:将当前方法交给Spring进行事务管理,方法执行前开启事务;成功执行完毕则提交事务;执行出现异常则回滚事务
#spring事务管理日志
logging:
  level:
    org.springframework.jdbc.support.JdbcTransactionManager: debug

​ rollbackFor:默认情况下只有出现RuntimeException才回滚异常,rollbackFor属性用于控制出现何种异常类型,回滚事务

@Transactional(rollbackFor = Exception.class)

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

@Transactional(propagation = Propagation.REQUIRED)
属性值 含义
REQUIRED 默认值,需要事务,有则加入,无则创建新事物
REQUIRES_NEW 需要新事物,无论有无,总是创建新事物
SUPPORTS 支持事务,有则加入,无则在无事务状态中运行
NOT_SUPPORTED 不支持事务,在无事务状态下运行
如果当前存在已有事务则挂起当前事务
MANDATORY 必须有事务,否则抛异常
NEVER 必须没事务,否则抛异常
posted @ 2025-09-01 20:08  SchwarzShu  阅读(7)  评论(0)    收藏  举报