1、事务属性
传播行为
隔离级别
事务超时
只读事务
回滚规则
2、使用入口
@Transactional
(1)可以标注在类上,也可以标注在接口或实现方法上
标注在类上,影响到所有方法;就近原则,方法上会优先于类上
(2)注解只能应用到public方法上才有效
(3)在spring默认的事务回滚中,只有runtimeexception及其子类才会触发回滚。
3、补充
(1) 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class)
(2) 让unchecked例外不回滚: @Transactional(notRollbackFor=RunTimeException.class)
(3)不需要事务管理的(只查询的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)
网友评论