终于找到全annotation配置springMVC的方法了(事务不失效)
来源:互联网 发布:小角磨机淘宝网 编辑:程序博客网 时间:2024/06/10 05:43
icanfly 写道
如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行
这个问题是由于问答上有解决方案
引用
这个问题很经典了
在主容器中(applicationContext.xml),将Controller的注解排除掉
<context:component-scan base-package="com">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
而在springMVC配置文件中将Service注解给去掉
<context:component-scan base-package="com">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
</context:component-scan>
因为spring的context是父子容器,所以会产生冲突,由ServletContextListener产生的是父容器,springMVC产生的是子容器,子容器Controller进行扫描装配时装配了@Service注解的实例,而该实例理应由父容器进行初始化以保证事务的增强处理,所以此时得到的将是原样的Service(没有经过事务加强处理,故而没有事务处理能力。
还有一种方式是将service层改用xml配置,其实这样做也是变相的让springmvc无法扫描service,而只能依赖父窗口也就是ServletContextListener来进行初始化,这样同样被赋予了事务性。
如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行
这个问题是由于问答上有解决方案
引用
这个问题很经典了
在主容器中(applicationContext.xml),将Controller的注解排除掉
<context:component-scan base-package="com">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
而在springMVC配置文件中将Service注解给去掉
<context:component-scan base-package="com">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
</context:component-scan>
因为spring的context是父子容器,所以会产生冲突,由ServletContextListener产生的是父容器,springMVC产生的是子容器,子容器Controller进行扫描装配时装配了@Service注解的实例,而该实例理应由父容器进行初始化以保证事务的增强处理,所以此时得到的将是原样的Service(没有经过事务加强处理,故而没有事务处理能力。
还有一种方式是将service层改用xml配置,其实这样做也是变相的让springmvc无法扫描service,而只能依赖父窗口也就是ServletContextListener来进行初始化,这样同样被赋予了事务性。
- 终于找到全annotation配置springMVC的方法了(事务不失效)
- 终于找到全annotation配置springMVC的方法了(事务不失效)
- 终于找到全annotation配置springMVC的方法了(事务不失效)
- annotation配置springMVC的方法了(事务不失效)
- 【SpringMVC】annotation配置(事务不失效)
- annotation配置springMVC的方法了事务不起作用
- [转]annotation配置springMVC的方法了事务不起作用
- 终于找到绘制波形的方法了
- 在eclipse的wtp版本中不编译jsp的方法,今天终于找到了
- SpringMVC+Hibernate4 导致事务失效不提交的可能原因
- SpringMVC+Hibernate4 导致事务失效不提交的可能原因
- 终于找到了下载下载eclispe源代码的方法了
- springMVC注解配置事务失效的问题(精)
- SpringMVC事务失效的解决方法
- 前几天我的问题终于在网上找到方法了!
- 终于找到了调试RMI的正确方法
- 终于找到一个写Unicode 文本文件的方法了。
- 终于找到关闭IE时清理Session的方法了
- 去掉禅道访问地址中的zentao
- 配置禅道系统为静态访问
- java取的日期的操作,放在类里
- Shell脚本大小写字符串转换(mail-username),telnet用在shell中
- 今天一直报java.lang.ClassCastException: org.ksoap2.SoapFault错
- 终于找到全annotation配置springMVC的方法了(事务不失效)
- mysql日期函数
- ubuntu 10.04时区设置
- FFT算法应用实例
- 在ArcGIS 10中使用python
- sqlite 取日期的方法:年,季度,月,当月第几周
- 配置eclipse环境
- hadoop hdfs总结 NameNode部分-- 概述
- CRichEditCtrl系列讲堂4 自己遇到的查找问题及解决方案