http://jinnianshilongnian.iteye.com/blog/1850432
http://sishuok.com/forum/blogPost/list/0/2498.html
Spring事务不起作用 问题汇总
总有很多朋友询问spring事务不起作用怎么回事,这里我汇总下,欢迎补充:
1) 首先使用如下代码 确认你的bean 是代理对象吗?
AopUtils.isAopProxy()
AopUtils.isCglibProxy() //cglib
AopUtils.isJdkDynamicProxy() //jdk动态代理
如果不是 那么就是切入点配置出错了 或者如果你使用了springmvc,可能是context:component-scan重复扫描引起的.
之前我的事务不生效就是因为springmvc重复扫描导致的;
<context:component-scan base-package="com.pinan" use-default-filters="false">
<context:include-filter type="regex" expression=".*\.action\..*" />
</context:component-scan>
这里的use-default-filters="false"必须设置,否则include-filter 不生效,将扫描base-package下的所有Bean
2) 如果是aop代理,那么说明代理成功,那么可能是如使用mysql且引擎是MyISAM造成的(因为不支持事务),改成InnoDB即可。
3)开启事务的时候和执行dao的数据源不是一个,也会引起问题
转载于:https://blog.51cto.com/6817977/1660496