参考: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使用注解,事务不失效 直接导入myeclipse,在mysql的test数据库中新建个user表、字段属性如下 username varchar 20 userpwd varchar 20
因此,在实际应用中,应合理设置事务边界,避免不必要的事务开销。 9. **分布式事务** 在微服务或分布式系统中,跨服务的数据操作可能涉及多个数据库事务。在这种情况下,Spring框架提供了分布式事务解决方案,如...
Spring+SpringMVC配置事务管理无效原因及解决办法详解 Spring 框架是 Java 企业级应用程序的核心框架,提供了事务管理机制,以确保业务逻辑的原子性和一致性。然而,在使用 Spring 和 SpringMVC 配置事务管理时,...
### 多线程解决方案 在Java中,多线程是实现并发执行任务的关键。SpringMVC提供了一种在服务层实现多线程的方法,以提高程序的执行效率和响应速度。以下是一些关键概念: 1. **ThreadPoolTaskExecutor**:Spring...
在这个基于Maven创建的SpringMVC项目中,我们将探讨Spring对业务层的事务管理,包括编码方式、XML传统配置方式以及基于AOP的XML配置方式。 首先,让我们理解事务管理在Java应用中的重要性。事务是数据库操作的基本...
这是一个可以运行的ecplise中的mvc题目:从index.jsp跳转到success.jsp。
SPRINGMVC 406问题解决方案 SPRINGMVC 是一个基于 Java 的 Web 应用程序框架,它提供了一个灵活的方式来开发 Web 应用程序。然而,在使用 SPRINGMVC 时,可能会遇到一些问题,例如 406 错误。本文将详细介绍 ...
在"Spring/SpringMVC/MyBatis整合+事务回滚"的主题中,我们将深入探讨如何将这三个框架整合起来,并实现事务的回滚功能。 首先,Spring框架是核心,它提供了依赖注入(DI)和面向切面编程(AOP)的能力,使得代码更...
在“SpringMVC精品资源--基于springMVC实现的解决方案系统.zip”这个压缩包中,我们可以推测包含了一系列关于SpringMVC开发的教程、示例代码或完整的项目模板,用于帮助开发者更好地理解和应用SpringMVC。...
在IT行业中,SpringMVC、MyBatis以及声明式事务管理是Java Web开发中的关键组件。这个项目结合了这三个核心技术,构建了一个高效、稳定的后端系统。以下将详细阐述这些技术及其相互配合的工作原理。 首先,...
在SpringMVC框架中配置多数据源是一项常见的需求,尤其在大型企业级应用中,由于业务的复杂性,往往需要连接不同的数据库以满足不同模块的需求。以下将详细讲解如何实现这一功能。 首先,理解数据源(DataSource)...
SpringMVC 跨域解决方案 ...本文介绍了 SpringMVC 跨域解决方案的两种方案,即通过注解的方式和通过配置文件的方式。通过这两种方案,可以解决跨站 HTTP 请求的问题,使得前后端分离的开发方式变得更加便捷和灵活。
解决 SpringMVC 中的中文乱码问题可以通过多种方法来实现,包括在 web.xml 文件中配置字符编码、使用注解配置字符编码、使用 CharacterEncodingFilter 或者自定义 Filter 等。这些方法都可以有效地解决中文乱码问题...
解决方案主要分为两部分,一部分是解决Tomcat控制台乱码问题,另一部分是解决SpringMVC提交表单时网页出现乱码情况。 (1)解决Tomcat控制台乱码问题 要解决Tomcat控制台乱码问题,需要修改Tomcat的logging....
在SpringMVC配置文件中,需要配置一个消息转换器,用于处理JSON格式的数据。这里我们使用`MappingJackson2HttpMessageConverter`作为示例。 ```xml <value>text/html;charset=UTF-8 <value>...
SpringMVC提供了一套完整的国际化解决方案。通过`LocaleResolver`和`MessageSource`,可以实现根据不同地区的用户显示相应的语言内容。 10. **数据绑定与验证** SpringMVC提供了强大的数据绑定功能,可以将HTTP...
SpringMVC-配置文档以及其中的说明。 包含使用注解、扫描带注解的包 、使用注解方式配置springMVC的映射器和适配器
传统的SpringMVC配置往往依赖于XML文件,如web.xml和spring-servlet.xml等,但随着Spring框架的发展,出现了基于代码的配置方式,实现了零XML配置,提高了开发效率。本文将详细介绍如何在不使用web.xml的情况下,...