博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排查spring事务不生效
阅读量:5955 次
发布时间:2019-06-19

本文共 1323 字,大约阅读时间需要 4 分钟。

  hot3.png

相信很多人和我一样配置spring 和 spring mvc项目的,spring的初始化交给ContextLoaderListener进行,使用的是applicationContext.xml文件。而spring mvc 初始化是交给DispatcherServlet进行的,使用的mvc-context.xml文件

web.xml

contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
mvcServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:mvc-context.xml
1
mvcServlet
/new/*

applicationContext.xml

其他配置省略

mvc-context.xml

其他配置省略...

问题来了 当我在界面上测试一个带事务的操作发现事务不生效,我使用的是在service层加入注解事务@Transactional,开始以为我事务配置有问题,检查了很久怎么都没有发现有问题。然后我使用junit代码测试service层发现事务是生效的,那么说明了spring mvc的配置造成了事务不生效。

解决办法有两个:

1.指定mvc-context.xml 文件扫描包路径更为精确点,如果org.demo.controller,但是这样要确保所有Controller要放在改包下。

mvc-context.xml

2.去掉mvc-context.xml对其他类型注释的扫描,使用use-default-filters="false"配置

mvc-context.xml

use-default-filters默认值为true,会对@Component, , ,@Controller都进行扫描,我们原意是只对@Controller进行扫描的。

输入图片说明

转载于:https://my.oschina.net/hgp/blog/1353325

你可能感兴趣的文章
Vuex学习
查看>>
bootstrap - navbar
查看>>
切图崽的自我修养-[ES6] 编程风格规范
查看>>
[React Native Android 安利系列]样式与布局的书写
查看>>
利用dxflib读写cad文件
查看>>
服务器迁移小记
查看>>
FastDFS存储服务器部署
查看>>
Android — 创建和修改 Fragment 的方法及相关注意事项
查看>>
流程控制: jQ Deferred 与 ES6 Promise 使用新手向入坑!
查看>>
swift基础之_swift调用OC/OC调用swift
查看>>
Devexpress 15.1.8 Breaking Changes
查看>>
推荐JS插件:imagesLoaded,监测图片加载情况并提供相应的事件(加载成功/失败)...
查看>>
Java B2B2C多用户商城 springcloud架构- common-service 项目构建过程(七)
查看>>
杨老师课堂之ArrayList集合常用方法解析
查看>>
ElasticSearch Client详解
查看>>
新零售讲堂之时代下的传统零售业,何去何从?
查看>>
c++读取和写入TXT文件的整理
查看>>
深入动态人脸识别小场景应用,2019年或将迎来爆发期
查看>>
Ionic2 下处理 Android 设备下返回按钮的事件
查看>>
linux基础--grep以及模式正则表达式
查看>>