spring+springMVC+mybatis的事務無效。很尷尬! java
通過屢次嘗試,原來是配置問題 ,固然前提你用的是spring 3.x與springmvc3.x.spring
通常application.xml是最早啓動的,這時候如果全包掃描,須要排除掉@Controller的掃描,讓它只掃描@Service,這樣才能讓他配置上代理事務。express
<context:component-scan base-package="com.chimy"> <!-- 排除@Controller --> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>
在第二啓動的spring-mvc.xml則須要排除掉@service註解,只讓他掃描@Controller。spring-mvc
<context:component-scan base-package="com.chimy"> <!-- 排除@Service --> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/> </context:component-scan>
爲什麼會這樣呢?由於在重複建立Bean時,會致使原有的代理失效 。原文檔怎麼描述的不太清楚!這個還須要查找緣由。。。mybatis