问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何知道使用的对象是spring的代理类

发布网友 发布时间:2023-07-18 23:44

我来回答

2个回答

热心网友 时间:2024-11-25 01:33

摘要:在项目中,涉及到同一个类中一个方法调用另外一个方法,并且两个方法的事务不相关,
这里面涉及到一个事务切换的问题,一般的方法没问题,根据通过aop注解在方法上通过加注解标识,
答案是:通过spring aop类里面的AopContext类获取当前类的代理对象,
这样就能切换对应的事务管理器了,具体做法如下:

(1).在applicationContext.xml文件中配置如下:

[html] view plain copy
<!-- 开启暴露Aop代理到ThreadLocal支持 -->
<aop:aspectj-autoproxy expose-proxy="true"/>

(2).在需要切换的地方获取代理对象,再调用对应的方法,如下:

[java] view plain copy
((类名) AopContext.currentProxy()).方法();

(3).注意,这里需要被代理对象使用的方法必须是public类型的方法,不然获取不到代理对象,会报下面的错误:

[java] view plain copy
java.lang.IllegalStateException: Cannot find current proxy: Set 'exposeProxy' property on Advised to 'true' to make it available.
开启暴露AOP代理即可.

因为开启事务和事务回滚,实际这个过程是aop代理帮忙完成的,当调用一个方法时,它会先检查时候有事务,有则开启事务,
当调用本类的方法是,它并没有将其视为proxy调用,而是方法的直接调用,所以也就没有检查该方法是否含有事务这个过程,
那么本地方法调用的事务也就无效了。

热心网友 时间:2024-11-25 01:34

在application.yml中有以下配置
spring:
aop:
#auto: true #默认为true,可省略
proxy-target-class: true # 默认为false即JDK动态代理,我们一般要设为true,使用CGLIB代理
这种方式只能将代理模式修改为了CGLIG,但是不能设置暴露cglib代理的目标对象。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 交互设计的“根”——七大定律 交互设计原则和理论2——七大定律 七大设计原则 附近的加油站有哪些 附近的加油站有哪些地方 ...传一个真实的对象,那为什么还要生成一个代理对象去调用方法呢?_百 ... spring中原始对象和代理对象同时存在吗 芳香族甲基酮结构 芳香基团是什么啊? 榴莲壳炖鸡还可以放什么一起炖 ...可以一起泡着喝吗?如果不能要怎么泡着喝,泡着三中花能不能加糖... 美发沙龙店长学习回来如何写感言 MASTERCAM2022怎么更改圆弧路径颜色? mastercam2022怎么把清除颜色添加到右件 mastercam不显示进几提刀移动颜色 mastercam2022背景颜色更改 为什么我做人喜欢置于死地而后生,喜欢走极端? 我有一对兄妹鹦鹉(同父母,亲的),一样大,不知道长大以后会不会自 线圈电感工作的原理是什么 23款ct6还会有优惠吗 王者荣耀万象天工下载不了 ct6内饰什么时候改款 雷丁电动车充不进去电? 培优卷,提高卷,冲刺卷五年级买哪个好 卷典达标卷和提优卷子哪个难 警惕!千万别让你的语言变成一把利剑,刺向孩子的心口 现浇板坍塌之前的征兆,现浇板裂缝会坍塌吗,楼板强度不够会坍塌吗 楼板强度不够会坍塌吗 人生最幸福的事莫过于,遇到真正喜欢你而且你喜欢的朋友,爱人。_百度... 人生最快乐的事,莫过于如此!是有喜欢人的还是发泄心情 人生最幸福的事莫过于,你喜欢的人,也喜欢你 河北省保定市高阳县古时的名称 那位前辈、专家、学者、老师知道《汉高阳令杨君碑》?求解、历史背景、学... VIVO Y15T和VIVO Y13L的电池能通用吗?还有从外观上怎么区分?有什么差 ... 步步高y13和y15t哪个好一点 vivoy15t配置如何! vivo Y13iL和vivoY15t谁好 vivoy913,Y23L,Y13L,Y22L,Y15T电池是一样的吗 vivoy15t 没有后壳怎么开机? 你再挨我删我就不加你了,最后一次挽留你了这句话什么意思? 男生把我给删了,就再也没有加回我了 ...他却没删你,就说你要是再删,我就不加了,之后因为上班又不怎么理_百... 默语笙箫是什么意思 曹书杰的获奖信息 米画师节点重要吗