天天看點

Spring事務注解不起作用的原因

事務不起作用的原因:

1、看使用的是啥資料庫,注意:MySQL的MyISAM引擎是不支援事務的,支援事務需要使用InnoDB引擎;

2、@Transactional注解要添加再public方法上,否則,代碼不會報錯,但是事務就是不起作用;

3、檢視@Transactional注解所在的類,是否添加了@Service 或 @Component注解;

4、@Transactional方法是否是通過代理類來調用的,比如:Controller類調用Service類的事務方法,這樣就OK。否則如果是Service内部直接方法調用,那麼事務将不會起作用;

踩坑點:一個事務要放一個方法裡面