先说一下我的目录结构
1、maven项目;
2、spring applicationContext.xml放在resources目录下
3、transactionManager datasource定义在applicationContext.xml中,在web.xml中org.springframework.web.context.ContextLoaderListener加载
4、spring-mvc-servlet.xml中只定义了与web controller,json转换的bean;
问题:
service中dao1 dao2执行不回滚。
1、maven项目;
2、spring applicationContext.xml放在resources目录下
3、transactionManager datasource定义在applicationContext.xml中,在web.xml中org.springframework.web.context.ContextLoaderListener加载
4、spring-mvc-servlet.xml中只定义了与web controller,json转换的bean;
问题:
service中dao1 dao2执行不回滚。
原因:
不知道,DataSourceTransactionManager是对datasource级进行事物的。
解决:
把applicationContext.xml中的transactionManager datasource都放到spring-mvc-servlet.xml中,回滚了。
2015年8月3日18:56:33
找到原因了:
由于在applicationContext.xml与spring-mvc-servlet.xml都对dao与service包进行了component-scan,相当于两次,所以spring-mvc-servlet.xml最好只放与web相关的bean
from : http://blog.chinaunix.net/uid-12348673-id-4977075.html
版权声明:本文为iteye_19209原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。