先说一下我的目录结构
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
阅读(19109) | 评论(0) | 转发(0) |