1.代码中事务控制的3种方式
- 编程式事务:
手动开启事务,手动提交commit,手动回滚rollback
- 声明式事务:
SpringAop配置事务
- 注解事务:
Service层的方法加上@Transactional注解
2.如何保证事务回滚
将Spring默认的回滚时的异常修改为Exception,这样就可以保证碰到什么异常都可以回滚
① 声明式事务,<tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
② 注解事务,@Transactional(rollbackFor=Exception.class)