一、檢查你方法是否是public的
二、你的異常類型是否是unchecked異常
若是我想check異常也想回滾怎麼辦,註解上面寫明異常類型便可
@Transactional(rollbackFor=Exception.class) 1
相似的還有norollbackFor,自定義不回滾的異常
三、數據庫引擎要支持事務,若是是MySQL,注意表要使用支持事務的引擎,好比innodb,若是是myisam,事務是不起做用的
四、是否開啓了對註解的解析
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
五、spring是否掃描到你這個包,以下是掃描到org.test下面的包
<context:component-scan base-package="org.test" ></context:component-scan>1
六、檢查是否是同一個類中的方法調用(如a方法調用同一個類中的b方法)
七、異常是否是被你catch住了spring