@Transactional失效的问题

spring事物配置一般没有问题,

优先检查mysql的引擎是否是innodb,

是的话检查包的扫描是否有问题。

我就是因为包的扫描导致@Transactional失效。

具体情况如下,

在spring-mvc.xml文件里写了

<!-- 扫描controller(controller层注入) -->
   <context:component-scan base-package="com.test"/>

在spring.xml文件里写了

<!-- 扫描文件(自动将servicec层注入) -->
    <context:component-scan base-package="com.test.service"/>

明显看出来是冲突了,导致事物失效,后来把spring-mcv.xml里的扫描改成

<context:component-scan base-package="com.IntegratedManagement.controller"/>

问题解决。。。。

时间: 2024-10-31 19:16:54

@Transactional失效的问题的相关文章

项目记录:spring+springmvc 项目中 @Transactional 失效的解决方法

第一步,修改spring的配置文件和springmvc的配置文件 --------------------------------applicationContext.xml <context:annotation-config/>  <context:component-scan base-package="com.xxx"> <context:exclude-filter type="annotation" expression=&

spring + mybatis 注解 @Transactional失效

1.问题 在使用@Transactional注解管理事务的时候会出现很多错误,比如: *** was not registered for synchronization because synchronization is not active 或者 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3ca5cba7]JDBC Connection [com.my

Spring事务注解@Transactional失效的问题

在项目中发现事务失效,使用@Transactional注解标注的Service业务层实现类方法全部不能回滚事务了,最终发现使用因为Spring与shiro进行整合之后导致的问题,将所有的Service层实现类都添加如下注解 @Scope(proxyMode= ScopedProxyMode.TARGET_CLASS) 将代理方式换成CGLib的代理方式之后得以解决,最终不明原因,如有看到这篇博客并知道答案的朋友请留言告知 如果事务不能回滚,也需要考虑如下几点: 表得存储引擎为MyISAM是没有事

记一次springboot配置事务@transactional失效的事故

问题: 有两张表,分别是user(用户信息表),user_role(用户角色信息表),添加一个用户的同时会在user_info表中插入该用户的用户角色信息记录.在添加一个用户信息时,由于用户信息重复,导致主键冲突,user表插入用户信息失败,此时按照正常逻辑,user_info表也会插入不成功,事务会回滚.但是结果是user_info中的记录插入成功了. 项目启动后的日志如下: 2018-08-08 17:17:41.496 DEBUG 7692 --- [WriteCheckTimer] o.

Spring事务失效的原因

Spring事务失效的原因 5种大的原因 如使用mysql且引擎是MyISAM,则事务会不起作用,原因是MyISAM不支持事务,可以改成InnoDB 假如有兴趣了解 mysql中 " engine=innodb " 以及 " engine=innodb 和engine=myisam的区别 ",可以读读这篇文章:http://blog.sina.com.cn/s/blog_6ac4c6cb01018pb1.html 可使用下述语句之一检查表的标类型: SHOW TAB

Hibernate4、Hibernate5 和 DBCP 的兼容性问题

1 背景 周一回来发现用户中心批量更新手机号未生效,上 Nexus 看了下有没有人动了 lib-datasource(基础架构组的一个组件,简化连接池装配),最新一个版本在上周四,该版本解决了 AutoCommit 的问题,详见参考1. 2 排查过程 打断点,确认手机号在批量插入前已经脱敏. 联系DBA 输出 general_log,发现最后一步不是 commit,而是 rollback. 放开日志级别 ,发现程序有 commit. 既然 generl_log 现实有 rollback,直接在

Spring MVC @Transactional注解方式事务失效的解决办法

Spring配置文件 applicationContext.xml <context:component-scan base-package="com.xdxx.ssm"> <!-- <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> --> </contex

springboot+springcache+shiro+Redis整合时@Cacheable、@Transactional等注解失效的问题

问题描述: 1.springboot整合shiro之前@Cacheable.@Transactional等注解都可以正常使用: 2.整合了shiro之后,自定义MyShiroRealm中注入RoleUserService时 RolerUservice中的@Cacheable.@Transaction都失效了. MyShiroRealm代码: RoleUserService代码: 原因:shiro和cache在引用service实例顺序问题,shiro引入应在cache后, shiro配置文件中引

@Transactional注解失效的解决方案

一.前言 开发中我们经常使用 @Transactional注解来启用Spring事务管理,但是如果使用方法不当,会遇到注解不生效该事务回滚的地方却没有回滚的问题. 总结下一般是以下几个原因: @Transactional 注解只能应用到 public 可见度的方法上. 如果应用在protected.private或者 package可见度的方法上,也不会报错,不过事务设置不会起作用. 默认情况下,spring会对unchecked异常进行事务回滚:如果是checked异常则不回滚.针对这种情况,