首先controller层可以用try/catch捕获异常,捕获的是service层抛出的异常,所以得在可能会出现异常的serviceImpl方法上抛出异常
然后就可以回滚了
service层直接抛Exception异常的话得在@Transactional注解后设置rollbackFor = {Exception.class}属性,具体原因百度,但是我这里没设置这个属性也照样回滚了...
直接在service层try/catch没试过,因为service层一般都是向上抛的,还没遇到过非得try/catch的情况