相关文档:Spring官方文档
相关代码:github
在前面的文章异常发生时的回滚机制里讲到,当发生checked exception时将处理权交给了调用方。在这里介绍一种逼不得已,不推荐使用的手动回滚事务的方法:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
此方法之所以逼不得已,不推荐使用,是因为Spring更推荐一种不具侵入性的方法:声明式的事务处理。声明式的事务处理能够将领域代码(业务代码)和具体框架脱离,而不是紧紧得绑定在一起。