文章詳情頁
基于Spring AOP proxyTargetClass的行為表現總結
瀏覽:49日期:2023-06-26 17:20:39
Spring AOP proxyTargetClass的行為要點列表形式proxyTargetClass
true
目標對象實現了接口 – 使用CGLIB代理機制 目標對象沒有接口(只有實現類) – 使用CGLIB代理機制false
目標對象實現了接口 – 使用JDK動態代理機制(代理所有實現了的接口) 目標對象沒有接口(只有實現類) – 使用CGLIB代理機制表格形式proxyTargetClass 目標對象特征 代理效果 true 目標對象實現了接口 使用CGLIB代理機制 true 目標對象沒有接口(只有實現類) 使用CGLIB代理機制 false 目標對象實現了接口 使用JDK動態代理機制(代理所有實現了的接口) false 目標對象沒有接口(只有實現類) 使用CGLIB代理機制 proxy-target- 與proxy-target-class='false'的區別<tx:annotation-driven transaction-manager='transactionManager'proxy-target- />
注意:proxy-target-class屬性值決定是基于接口的還是基于類的代理被創建。
如果proxy-target-class 屬性值被設置為true,那么基于類的代理將起作用(這時需要cglib庫)。 如果proxy-target-class 屬值被設置為false或者這個屬性被省略,那么標準的JDK 基于接口的代理將起作用。即使你未聲明 proxy-target- ,但運行類沒有繼承接口,spring也會自動使用CGLIB代理。
高版本spring自動根據運行類選擇 JDK 或 CGLIB 代理
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
標簽:
Spring
相關文章:
排行榜
