@Transactional 失效问题

@Transactional配置起来是简单方便,但是坑也相当多,下面就记录下这些坑。


1、service类标签添加在了接口上,查阅资料说接口的方法上可以加也不建议这样用,但实际中这么出现事务失效。

2、@Transactional 注解只能应用到 public 可见度的方法上。

3、默认情况下,spring会对unchecked异常进行事务回滚;如果是checked异常则不回滚。

4、数据库不支持事务,比如MySQL的MYISAM

5、spring配置文件在配置扫描组件时,扫描的包的顺序不对。应先扫描dao和service,在spring-mvc.xml中扫描controller和其他组件



	

【坑】:base-package="com.nfa.core"时,controller组件竟然没有被剔除,一起被扫描了,后面改为base-package=''com.nfa.core.dao,com.nfa.core.service"就可以了

你可能感兴趣的:(MyBatis-Spring)