Atitit Spring事务配置不起作用可能出现的问题: .是否是数据库引擎设置不对造成的【笔者就遇到了这个问题,由于笔者使用的是mysql数据,但是在创建表的时候引擎默认(mysql中引擎默认为
Atitit Spring事务配置不起作用可能出现的问题:
.是否是数据库引擎设置不对造成的【笔者就遇到了这个问题,由于笔者使用的是mysql数据,但是在创建表的时候引擎默认(mysql中引擎默认为MyISAM,是不支持事务操作的),需要修改为InnoDB,就可以支持事务操作了】
- 入口函数必须是public,否则事务不起作用。这一点由Spring的AOP特性决定的。
1、首先使用如下代码 确认你的bean 是代理对象吗?
AopUtils.isAopProxy()
AopUtils.isCglibProxy() //cglib
AopUtils.isJdkDynamicProxy() //jdk动态代理
如果不是 那么就是切入点配置出错了 或者如果你使用了springmvc,可能是context:component-scan重复扫描引起的:
UserService userService = context.getBean(UserService.class);
// 调用userService的方法执行
userService.test();
userService.addUser1(" user2222");
boolean isAopProxy=AopUtils.isAopProxy(userService);
boolean isCglibProxy=AopUtils.isCglibProxy(userService);
boolean isJdkDynamicProxy=AopUtils.isJdkDynamicProxy(userService);
Map m=Maps.newConcurrentMap();
m.put("isAopProxy",isAopProxy); m.put("isCglibProxy",isCglibProxy); m.put("isJdkDynamicProxy",isJdkDynamicProxy);
System.out.println(JSON.toJSONString(m));//{"isCglibProxy":true,"isAopProxy":true,"isJdkDynamicProxy":false}
2、如果是aop代理,那么说明代理成功,那么可能是如使用mysql且引擎是MyISAM造成的(因为不支持事务),改成InnoDB即可。
3、 如果你是基于类的代理,而非接口,如果想代理父类里的,可以用
execution(* com.sishuok.es..service..*+.*(..))
Spring事务不起作用 问题汇总 - 《亿级流量网站架构核心技术》_ - ITeye博客.html
是不是同一class没关系的。。只有一个service的俩个method都可以执行事务的。
Atitit Spring事务配置不起作用可能出现的问题: .是否是数据库引擎设置不对造成的【笔者就遇到了这个问题,由于笔者使用的是mysql数据,但是在创建表的时候引擎默认(mysql中引擎默认为相关推荐
- mysql创建表的时候日期给个默认值_mysql 创建表时 日期字段默认值为当前时间...
mysql 创建表时 日期字段默认值为当前时间 mysql version 5.1 在mysql创建表的时候经常会遇到创建日期字段需要设置当前时间为默认值的时候,就如sqlserver2000一样,把 ...
- mysql创建表的时候显式申明存储引擎
创建表的时候显式申明存储引擎 这个没什么说的,使用什么引擎就申明什么引擎,防止被默认.有句话说得好:如果你不选择,那你就被选择,被选择的结果不一定是你自己想要的.命运还是要掌握的自己手里. 正确招式: ...
- Spring事务配置的五种方式 说明
Spring事务配置的五种方式 [转 http://blog.csdn.net/hjm4702192/article/details/17277669] Spring配置文件中关于事务配置总是由三个 ...
- Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别、不可重复读与幻读的区别
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spr ...
- spring事务管理器的作用_【面试必问】Spring中的事务管理详解
在这里主要介绍Spring对事务管理的一些理论知识,实战方面参考上一篇博文: http://www.cnblogs.com/longshiyVip/p/5061547.html 1. 事务简介: 事务 ...
- mysql 导入创建表空间_说说在 Oracle11g 中如何创建表空间、创建用户并授权以及导入与导出数据...
假设 Oracle11g 已在本机安装成功. 1 创建表空间 打开 sqlplus 工具:开始-->所有程序--> Oracle –OraDb11g_home1-->应用程序开发-- ...
- 7、Spring事务配置下篇
一.事务细节-七种传播行为 1.概述 1.事务的传播行为是Spring的特性,它指的是多个事务方法之间相互调用时,事务如何在这些方法之间的传播.比如一个事务方法里面调用了另外一个事务方法,那么两个方法 ...
- Spring事务配置探究
2019独角兽企业重金招聘Python工程师标准>>> 一.项目中spring+mybaits xml配置解析 一般我们会在datasource.xml中进行如下配置,但是其中每个配 ...
- spring事务配置,声明式事务管理和基于@Transactional注解的使用
事务管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性. spring提供了几个关于事务处理的类: TransactionDefinition //事务属性定义 Transc ...
- 6、Spring事务配置上篇
一.事务简介 1.概述 1.事务在逻辑上一组操作,要么都执行(成功),要么都不执行(失败),主要是针对数据库而言的,比如MySQL.Oracle等. 2.事务是数据库提供的特性,因此可以直接通过操作数 ...
最新文章
- Java项目-基于SSM实现律师事务所管理平台
- Linux之traceroute命令使用详解—网络故障定位(三)
- ssh和sshd服务
- Html 教程 (3)元素
- 循环队列基本操作(解决队列假溢出)
- 算法题 20 或与加
- 给窗口添加背景图的案例
- 鸿蒙hms在哪儿更新,原创 华为鸿蒙系统已开始实施!华为EMUI10.1再更新:HMS将决定战略方向...
- 第11章 享元模式(Flyweight Pattern)
- Java-接口第一篇认识Interface
- dos攻击工具如何使用?两款dos攻击工具介绍
- 近期14个“AI产品经理”职位JD推荐(覆盖北京、上海、深圳、成都、重庆、杭州)
- CSS3构建一个正方体
- php判断caj文件页数,CAJ转Word有没有既免费还不限制页数的转换工具?
- 数组之concat注意事项-不更改原数组
- 1.1哈恩巴纳赫定理
- 低功耗蓝牙芯片基础知识
- 本地交通基础设施存在的问题
- 四、微信小程序之简单计算器(学习记录)
- 求完全二叉树的最大深度与节点个数,要利用完全二叉树的特性
热门文章
- office2010 反应慢_office2010打开时间太慢。怎么办?
- hbase java 分页查询_HBase伪快速分页查询
- python中string函数的用法_python中string模块各属性以及函数的用法
- python绘制条形图例题_[宜配屋]听图阁 - Python+matplotlib+numpy绘制精美的条形统计图...
- Linux安装tomcat服务器
- 参考官方mysql自定义一个mysql sink connector
- Java web中的web-xml中标签定义之jsp-config
- 轻松搭建docker应用的mesos集群
- 基于Cookie跨域的单点登录问题
- Flink状态专题:keyed state和Operator state