SpringAOP 失效解决方案、Spring事务失效
SpringAOP 失效解决方案
SpringAOP是基于代理来对目标方法进行增强,但是有的时候又会出现“增强无效”的情况,比如在@Transactional下的某类中的方法内调用了该类的另一个方法,这种情况下,事务有时候会出现不生效的情况。因为,事务也是基于代理来增强目标对象的目标方法的,我们应该获取代理对象再来调用子方法。
获取代理对象的三个方法:
1. @Autowried 目标类注入进来,用这个注入进来的对象调用子方法即可。
2. 实现ApplicationContextAware接口或者@Autowried ApplicationContext对象,再通过getBean()来获取。
3. 通过SpringAOP的API来获取代理对象,这个方法的前提是在启动类上的@EnableAspectJAutoProxy的注解中加上属性exposeProxy = true;接下来通过API获取即可: AopContext.currentProxy() 即可获取当前类的目标代理对象,记得强转成当前类,然后调用你想调用的子方法即可。
SpringAOP 失效解决方案、Spring事务失效的更多相关文章
- java面试记录二:spring加载流程、springmvc请求流程、spring事务失效、synchronized和volatile、JMM和JVM模型、二分查找的实现、垃圾收集器、控制台顺序打印ABC的三种线程实现
注:部分答案引用网络文章 简答题 1.Spring项目启动后的加载流程 (1)使用spring框架的web项目,在tomcat下,是根据web.xml来启动的.web.xml中负责配置启动spring ...
- Spring事务失效的原因
http://blog.csdn.net/paincupid/article/details/51822599 Spring事务失效的原因 5种大的原因 如使用mysql且引擎是MyISAM,则事务会 ...
- Spring事务失效的2种情况
使用默认的事务处理方式 因为在java的设计中,它认为不继承RuntimeException的异常是”checkException”或普通异常,如IOException,这些异常在java语法中是要求 ...
- 就这?Spring 事务失效场景及解决方案
小明:靓仔,我最近遇到了很邪门的事. 靓仔:哦?说来听听. 小明:上次看了你的文章<就这?一篇文章让你读懂 Spring 事务>,对事务有了详细的了解,但是在项目中还是遇到了问题,明明加了 ...
- Spring事务失效的 8 大原因,这次可以吊打面试官了!
今天再来一篇<吊打面试官>系列,这次真的要吊打了,哈哈!(看往期吊打系列请在后台回复:吊打,我会陆续更新--) 前几天栈长不是发了一篇文章,里面有一个关于事务失效的问题: 用 Spring ...
- spring事务失效情况分析
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt113 <!--[if !supportLists]-->一.&l ...
- Spring事务深入剖析--spring事务失效的原因
之前我们讲的分布式事务的调用都是在一个service中的事务方法,去调用另外一个service中的业务方法, 如果在一个sevice中存在两个分布式事务方法,在一个seivice中两个事务方法相互嵌套 ...
- Spring 事务失效
隔离级别 在 TransactionDefinition.java 接口中,定义了"四种"的隔离级别枚举: /** * [Spring 独有]使用后端数据库默认的隔离级别 * * ...
- 聊聊spring事务失效的12种场景,太坑了
前言 对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了. 在某些业务场景下,如果一个请求中,需要同时写入多张表的数据.为了保证操作的原子性(要么同时成功,要么同时失败),避免数据 ...
随机推荐
- python-利用pymysql获取数据简单使用总结
python-利用pymysql获取数据库中的数据 1.前言 pymysql是一个第三方的模块,使用前需要安装 2.安装 pip install pymysql 3.基本使用 import pymys ...
- NSSCTF-finalrce
菜狗的我打开题目之后,人都给我吓傻了,直接过滤的超出了我的认知 菜狗直接就枯了,这个题目其实是不难的,就是比较阴间的一个题目,审计代码,可以看到最后一行的代码"exec($url)&quo ...
- 数据可视化地图制作教程,这个免费BI软件轻松搞定
数据可视化地图制作教程 现在做数据分析基本上离不开数据可视化,在大量的数据中,有很大一部分数据都与地理信息相关,因此,在数据可视化中,可视化地图是非常重要的一部分.无论是新闻报道,还是商业分析报告, ...
- 【C# Task】开篇
概览 在学task类之前必须学习线程的知识. 以下是task命名空间的类的结构图 1.2种任务类型: 有返回值task<TResult> .无返回值task. 2.2座任务工厂 TaskF ...
- 【C#硬件角度理解代码】函数
函数的执行过程
- Pycharm:调试、断点
1.调试:Shift+F10 或 2.快捷键: 步进:F8 进入函数内:F7 运行到下一个断点处:F9 3.删除所有断点 菜单栏->Run->View BreakPoints.. 减号代表 ...
- c# 通过HttpListener创建HTTP服务
在c#中可以利用HttpListener来自定义创建HTTP服务,通过http协议进行服务端与多个客户端之间的信息传递,并且可以做成windows系统服务,而不用寄宿在IIS上.以下为一个demo,分 ...
- tensorflow源码解析系列文章索引
文章索引 framework解析 resource allocator tensor op node kernel graph device function shape_inference 拾遗 c ...
- 无法加载文件 **.ps1,系统中禁止执行脚本
控制台执行命令后出现 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 "get-help about_signing" 在控制台执行命令: s ...
- Web网站建站过程(白嫖)——域名
目录 1.域名注册商(选一个吧) 2.域名注册 没有域名建啥站? 1.域名注册商(选一个吧) 到时候你们就会想起: ...... 但是我们不用上面的,因为上面的太费Q,我们要用的是-- 2.域名注册 ...