在SpringBoot的开发项目中,
在Controller控制层,我们一般只做入参的校验;
在Service服务层,我们把业务逻辑都写在这里,在服务层的方法中,我们会调用其它的服务层接口或者mapper层方法,
所以,需要在服务层的方法上,我们需要增加:
@Transactional(rollbackFor = Exception.class)
添加该注解后,只要服务层的方法中有异常的,所有的操作都会回滚。
需要注意的是:
1、事务方法内部捕捉了异常,没有抛出新的异常,导致事务操作不会进行回滚。
解决方法:在注解后面添加具体回滚的异常类:rollbackFor = Exception.class
2、Transactional注解标必须添加在public方法上,如果不是public方法,@Transactional注解不会起作用。
3、在类内部调用调用类内部@Transactional标注的方法。这种情况下也会导致事务不开启。
标签:回滚,服务,浅谈,Transactional,注解,方法 From: https://www.cnblogs.com/heyi-77/p/18145389