文章詳情頁
基于Spring AOP proxyTargetClass的行為表現(xiàn)總結(jié)
瀏覽:46日期:2023-06-26 17:20:39
Spring AOP proxyTargetClass的行為要點(diǎn)列表形式proxyTargetClass
true
目標(biāo)對(duì)象實(shí)現(xiàn)了接口 – 使用CGLIB代理機(jī)制 目標(biāo)對(duì)象沒有接口(只有實(shí)現(xiàn)類) – 使用CGLIB代理機(jī)制false
目標(biāo)對(duì)象實(shí)現(xiàn)了接口 – 使用JDK動(dòng)態(tài)代理機(jī)制(代理所有實(shí)現(xiàn)了的接口) 目標(biāo)對(duì)象沒有接口(只有實(shí)現(xiàn)類) – 使用CGLIB代理機(jī)制表格形式proxyTargetClass 目標(biāo)對(duì)象特征 代理效果 true 目標(biāo)對(duì)象實(shí)現(xiàn)了接口 使用CGLIB代理機(jī)制 true 目標(biāo)對(duì)象沒有接口(只有實(shí)現(xiàn)類) 使用CGLIB代理機(jī)制 false 目標(biāo)對(duì)象實(shí)現(xiàn)了接口 使用JDK動(dòng)態(tài)代理機(jī)制(代理所有實(shí)現(xiàn)了的接口) false 目標(biāo)對(duì)象沒有接口(只有實(shí)現(xiàn)類) 使用CGLIB代理機(jī)制 proxy-target- 與proxy-target-class='false'的區(qū)別<tx:annotation-driven transaction-manager='transactionManager'proxy-target- />
注意:proxy-target-class屬性值決定是基于接口的還是基于類的代理被創(chuàng)建。
如果proxy-target-class 屬性值被設(shè)置為true,那么基于類的代理將起作用(這時(shí)需要cglib庫)。 如果proxy-target-class 屬值被設(shè)置為false或者這個(gè)屬性被省略,那么標(biāo)準(zhǔn)的JDK 基于接口的代理將起作用。即使你未聲明 proxy-target- ,但運(yùn)行類沒有繼承接口,spring也會(huì)自動(dòng)使用CGLIB代理。
高版本spring自動(dòng)根據(jù)運(yùn)行類選擇 JDK 或 CGLIB 代理
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
標(biāo)簽:
Spring
上一條:如何使用Spring AOP預(yù)處理Controller的參數(shù)下一條:Spring Boot實(shí)現(xiàn)數(shù)據(jù)訪問計(jì)數(shù)器方案詳解
相關(guān)文章:
1. android studio 打包自動(dòng)生成版本號(hào)與日期,apk輸入路徑詳解2. Nginx+php配置文件及原理解析3. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析4. Python importlib動(dòng)態(tài)導(dǎo)入模塊實(shí)現(xiàn)代碼5. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解6. JavaMail 1.4 發(fā)布7. 淺談python出錯(cuò)時(shí)traceback的解讀8. vue使用webSocket更新實(shí)時(shí)天氣的方法9. 在Android中使用WebSocket實(shí)現(xiàn)消息通信的方法詳解10. Yii2.0引入CSS,JS文件方法
排行榜
