日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AopContext.currentProxy();为什么能获取到代理对象

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AopContext.currentProxy();为什么能获取到代理对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在同一個類中,非事務方法A調用事務方法B,事務失效,得采用AopContext.currentProxy().xx()來進行調用,事務才能生效。

B方法被A調用,對B方法的切入失效,但加上AopContext.currentProxy()創建了代理類,在代理類中調用該方法前后進行切入。對于B方法proxyA中調用只能對A進行增強,A里面調用B使用的是對象.B(),而不是$proxy.B(),所以對B的切入無效。

AopContext.currentProxy()使用了ThreadLocal保存了代理對象,因此
AopContext.currentProxy().B()就能解決。

在不同類中,非事務方法A調用事務方法B,事務生效。
在同一個類中,事務方法A調用非事務方法B,事務具有傳播性,事務生效
在不同類中,事務方法A調用非事務方法B,事務生效。

?

Spring中創建動態代理有兩種方式,即jdk動態代理、cglib動態代理。
jdk動態代理創建時JdkDynamicAopProxy中的invoke方法中存入的

?

cglib動態代理CglibAopProxy在創建代理時也存入了

總結

以上是生活随笔為你收集整理的AopContext.currentProxy();为什么能获取到代理对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。