`

配置springMVC时事务失效的解决方案

 
阅读更多

参考:http://jinnianshilongnian.iteye.com/blog/1850432

主要看我评论的内容,我是已经正常解决了的。

 

我的评论如下:

我在代码中加入了这三个方法:
AopUtils.isAopProxy()
AopUtils.isCglibProxy() //cglib
AopUtils.isJdkDynamicProxy()
但是仍然都是返回false,不过我的事务起作用了,原因就是你说的覆盖了原来扫描的Service和Dao,我的修改是这样的
原来的代码:
<context:component-scan base-package="com.linjia.web"  >
</context:component-scan>
改正后:
<context:component-scan base-package="com.linjia.web.controller"  >
</context:component-scan>

这里只需要扫描controller就行了,不要整个都扫描,否则会覆盖,从而引起事务失效

 

 

 

原内容如下:

总有很多朋友询问spring事务不起作用怎么回事,这里我汇总下,欢迎补充:

 

1、首先使用如下代码 确认你的bean 是代理对象吗?

AopUtils.isAopProxy()

AopUtils.isCglibProxy() //cglib

AopUtils.isJdkDynamicProxy() //jdk动态代理

 

如果不是 那么就是切入点配置出错了 或者如果你使用了springmvc,可能是context:component-scan重复扫描引起的:

http://jinnianshilongnian.iteye.com/blog/1423971

http://jinnianshilongnian.iteye.com/blog/1762632

http://jinnianshilongnian.iteye.com/blog/1857189

 

2、如果是aop代理,那么说明代理成功,那么可能是如使用mysql且引擎是MyISAM造成的(因为不支持事务),改成InnoDB即可。

 

3、 如果你是基于类的代理,而非接口,如果想代理父类里的,可以用

execution(* com.sishuok.es..service..*+.*(..))  

//+表示子类的也扫描(参考http://jinnianshilongnian.iteye.com/blog/1420691

 

欢迎补充。

分享到:
评论

相关推荐

    springMVC事务不失效

    springMVC使用注解,事务不失效 直接导入myeclipse,在mysql的test数据库中新建个user表、字段属性如下 username varchar 20 userpwd varchar 20

    springMVC+MYBATIS事务管理

    因此,在实际应用中,应合理设置事务边界,避免不必要的事务开销。 9. **分布式事务** 在微服务或分布式系统中,跨服务的数据操作可能涉及多个数据库事务。在这种情况下,Spring框架提供了分布式事务解决方案,如...

    Spring+SpringMVC配置事务管理无效原因及解决办法详解

    Spring+SpringMVC配置事务管理无效原因及解决办法详解 Spring 框架是 Java 企业级应用程序的核心框架,提供了事务管理机制,以确保业务逻辑的原子性和一致性。然而,在使用 Spring 和 SpringMVC 配置事务管理时,...

    SpringMVC简介与多线程解决方案

    ### 多线程解决方案 在Java中,多线程是实现并发执行任务的关键。SpringMVC提供了一种在服务层实现多线程的方法,以提高程序的执行效率和响应速度。以下是一些关键概念: 1. **ThreadPoolTaskExecutor**:Spring...

    SpringMVC事务管理

    在这个基于Maven创建的SpringMVC项目中,我们将探讨Spring对业务层的事务管理,包括编码方式、XML传统配置方式以及基于AOP的XML配置方式。 首先,让我们理解事务管理在Java应用中的重要性。事务是数据库操作的基本...

    springmvc创建文件报错解决方案

    这是一个可以运行的ecplise中的mvc题目:从index.jsp跳转到success.jsp。

    SPRINGMVC 406问题解决方案

    SPRINGMVC 406问题解决方案 SPRINGMVC 是一个基于 Java 的 Web 应用程序框架,它提供了一个灵活的方式来开发 Web 应用程序。然而,在使用 SPRINGMVC 时,可能会遇到一些问题,例如 406 错误。本文将详细介绍 ...

    Spring/SpringMVC/MyBatis整合+事务回滚

    在"Spring/SpringMVC/MyBatis整合+事务回滚"的主题中,我们将深入探讨如何将这三个框架整合起来,并实现事务的回滚功能。 首先,Spring框架是核心,它提供了依赖注入(DI)和面向切面编程(AOP)的能力,使得代码更...

    SpringMVC精品资源--基于springMVC实现的解决方案系统.zip

    在“SpringMVC精品资源--基于springMVC实现的解决方案系统.zip”这个压缩包中,我们可以推测包含了一系列关于SpringMVC开发的教程、示例代码或完整的项目模板,用于帮助开发者更好地理解和应用SpringMVC。...

    springmvc+mybatis+声明式事务管理

    在IT行业中,SpringMVC、MyBatis以及声明式事务管理是Java Web开发中的关键组件。这个项目结合了这三个核心技术,构建了一个高效、稳定的后端系统。以下将详细阐述这些技术及其相互配合的工作原理。 首先,...

    SpringMVC配置多数据源实战

    在SpringMVC框架中配置多数据源是一项常见的需求,尤其在大型企业级应用中,由于业务的复杂性,往往需要连接不同的数据库以满足不同模块的需求。以下将详细讲解如何实现这一功能。 首先,理解数据源(DataSource)...

    详解SpringMVC解决跨域的两种方案

    SpringMVC 跨域解决方案 ...本文介绍了 SpringMVC 跨域解决方案的两种方案,即通过注解的方式和通过配置文件的方式。通过这两种方案,可以解决跨站 HTTP 请求的问题,使得前后端分离的开发方式变得更加便捷和灵活。

    springMVC解决中文乱码

    解决 SpringMVC 中的中文乱码问题可以通过多种方法来实现,包括在 web.xml 文件中配置字符编码、使用注解配置字符编码、使用 CharacterEncodingFilter 或者自定义 Filter 等。这些方法都可以有效地解决中文乱码问题...

    SpringMVC Tomcat控制台乱码问题解决方案

    解决方案主要分为两部分,一部分是解决Tomcat控制台乱码问题,另一部分是解决SpringMVC提交表单时网页出现乱码情况。 (1)解决Tomcat控制台乱码问题 要解决Tomcat控制台乱码问题,需要修改Tomcat的logging....

    SpringMVC上传文件ie提示下载json文件解决方案

    在SpringMVC配置文件中,需要配置一个消息转换器,用于处理JSON格式的数据。这里我们使用`MappingJackson2HttpMessageConverter`作为示例。 ```xml &lt;value&gt;text/html;charset=UTF-8 &lt;value&gt;...

    SpringMVC4零配置

    SpringMVC提供了一套完整的国际化解决方案。通过`LocaleResolver`和`MessageSource`,可以实现根据不同地区的用户显示相应的语言内容。 10. **数据绑定与验证** SpringMVC提供了强大的数据绑定功能,可以将HTTP...

    SpringMVC-配置文档

    SpringMVC-配置文档以及其中的说明。 包含使用注解、扫描带注解的包 、使用注解方式配置springMVC的映射器和适配器

    SpringMVC基于代码的配置方式(零配置,无web.xml)

    传统的SpringMVC配置往往依赖于XML文件,如web.xml和spring-servlet.xml等,但随着Spring框架的发展,出现了基于代码的配置方式,实现了零XML配置,提高了开发效率。本文将详细介绍如何在不使用web.xml的情况下,...

Global site tag (gtag.js) - Google Analytics