希望能在发生异常的时候被回退,这时候就可以使用事务让它实现回退,做法非常简单,我们只需要在test函数上添加@Transactional注解即可。
使用@Transactional注解来声明一个函数需要被事务管理。
在单元测试中使用 @Transactional注解,默认情况下在测试方法的末尾会回滚事务。
如果想关闭回滚,只要加上 @Rollback(false)注解即可,@Rollback表示事务执行完回滚,支持传入一个value,默认true即回滚,false不回滚。
通常我们单元测试为了保证每个测试之间的数据独立,会使用@Rollback注解让每个单元测试都能在结束时回滚。
而真正在开发业务逻辑时,我们通常在service层接口中使用@Transactional来对各个业务逻辑进行事务管理的配置。
事务的传播行为,相关文章:https://my.oschina.net/happyBKs/blog/513390
Propagation 默认:REQUIRED
@Transactional(propagation = Propagation.REQUIRED)