如果发现配置都正确但是事务就是不起作用,多半是因为注解的加载顺序问题造成的,因为服务器启动时的加载配置文件的顺序为
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">
我亲测成功,如果不能成功,可能是你基础配置不对,可以留言给我。