springMVC mybatis mysql 配置 事务不起作用的原因

来源:互联网 发布:天谕萌女萝莉数据 编辑:程序博客网 时间:2024/06/05 00:18

由于事务失效搞了我好长时间,也在网上找了很多,发现这篇文章是最好的所以推荐给大家。

http://blog.csdn.net/will_awoke/article/details/12002705

springMVC和spring一起使用的时候,配置文件会先后生成。大家现在多数喜欢用spring的注解方式进行配置,在配置文件中会有包的扫描过程,然而spring的扫描生成的service是具有事务处理能力的service,springMVC扫描出来的service是不具有事务处理能力的service。spring的生成过程中如果同一个类声称两次的话,以后一次的为准,程序先生成spring的,后生成springMVC的,所以由springMVC生成的service为准,它不具有事务能力,所以每次事务都不成功。因此我们要在springMVC扫描包中exclude掉service注解,如下

<context:component-scan base-package="xxx.xx" >          <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />    </context:component-scan>

这样生成的service就是由spring配置的具有事务能力的service了。

还有一个就是mysql的引擎如只有innodb才有事务能力,这也是需要注意的一点。

0 0
原创粉丝点击