文章詳情頁(yè)
基于Spring AOP proxyTargetClass的行為表現(xiàn)總結(jié)
瀏覽:53日期:2023-06-26 17:20:39
Spring AOP proxyTargetClass的行為要點(diǎn)列表形式proxyTargetClass
true
目標(biāo)對(duì)象實(shí)現(xiàn)了接口 – 使用CGLIB代理機(jī)制 目標(biāo)對(duì)象沒(méi)有接口(只有實(shí)現(xiàn)類) – 使用CGLIB代理機(jī)制false
目標(biāo)對(duì)象實(shí)現(xiàn)了接口 – 使用JDK動(dòng)態(tài)代理機(jī)制(代理所有實(shí)現(xiàn)了的接口) 目標(biāo)對(duì)象沒(méi)有接口(只有實(shí)現(xiàn)類) – 使用CGLIB代理機(jī)制表格形式proxyTargetClass 目標(biāo)對(duì)象特征 代理效果 true 目標(biāo)對(duì)象實(shí)現(xiàn)了接口 使用CGLIB代理機(jī)制 true 目標(biāo)對(duì)象沒(méi)有接口(只有實(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ì)象沒(méi)有接口(只有實(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庫(kù))。 如果proxy-target-class 屬值被設(shè)置為false或者這個(gè)屬性被省略,那么標(biāo)準(zhǔn)的JDK 基于接口的代理將起作用。即使你未聲明 proxy-target- ,但運(yùn)行類沒(méi)有繼承接口,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ù)訪問(wèn)計(jì)數(shù)器方案詳解
相關(guān)文章:
1. Python自動(dòng)化測(cè)試基礎(chǔ)必備知識(shí)點(diǎn)總結(jié)2. Python中re模塊的常用方法總結(jié)3. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法4. python基于opencv批量生成驗(yàn)證碼的示例5. npm下載慢或下載失敗問(wèn)題解決的三種方法6. ASP編碼必備的8條原則7. python用pyecharts實(shí)現(xiàn)地圖數(shù)據(jù)可視化8. python+requests+pytest接口自動(dòng)化的實(shí)現(xiàn)示例9. ASP錯(cuò)誤捕獲的幾種常規(guī)處理方式10. 如何用python開發(fā)Zeroc Ice應(yīng)用
排行榜
