Spring事务默认捕获运行异常(RuntimeException) (rolling back on {@link RuntimeException} and {@link Error} but not on checked exceptions).
java业务代码在事务中只能捕获RuntimeException时Spring事务才可能正常回滚,比如捕获Exception Spring的事务不能捕获到异常,不能回滚
如果捕获的异常为Exception 则在捕获到异常中声名回滚即可TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();