spring的事务不起作用的解决办法亲测

来源:互联网 发布:js开发框架 编辑:程序博客网 时间:2024/04/27 23:19

如果发现配置都正确但是事务就是不起作用,多半是因为注解的加载顺序问题造成的,因为服务器启动时的加载配置文件的顺序为

1:web.xml
2:Spring的配置文件
3:SpringMVC的配置文件,
由于Spring的配置文件配置文件中Controller会先进行扫描装配,但是此时service还没有进行事务增强处理所以它就没有事务处理能力


修改srping配置文件中,扫描包的时候,去掉对Controller的扫描

<context:component-scan base-package="工程的包路径com.common">
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> 
</context:component-scan>

修改springmvc配置文件,增加

<context:component-scan base-package="工程的包路径com.common">  
   <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />  
   <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />  
</context:component-scan>

如果xml报错,将xml的头改为

<beans xmlns="http://www.springframework.org/schema/beans"  
 xmlns:context="http://www.springframework.org/schema/context"  
 xmlns:p="http://www.springframework.org/schema/p"  
 xmlns:mvc="http://www.springframework.org/schema/mvc"  
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 xsi:schemaLocation="http://www.springframework.org/schema/beans  
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
      http://www.springframework.org/schema/context  
      http://www.springframework.org/schema/context/spring-context.xsd  
      http://www.springframework.org/schema/mvc  
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

我亲测成功,如果不能成功,可能是你基础配置不对,可以留言给我。


0 0