Spring AOP原理為什么用2種實現(xiàn)方式

2022-10-20 06:21

1個回答
Spring AOP原理用JDKProxy和Cglib2種實現(xiàn)方式的是因為適用于不同的場景。
一、為什么不直接都使用JDK動態(tài)代理:
JDK動態(tài)代理只能代理接口類,所以很多人設(shè)計架構(gòu)的時候會使用
XxxService, XxxServiceImpl的形式設(shè)計,一是讓接口和實現(xiàn)分離,二是也有助于代理。
二、為什么不都使用Cgilb代理:
因為JDK動態(tài)代理不依賴其他包,Cglib需要導(dǎo)入ASM包,對于簡單的有接口的代理使用JDK動態(tài)代理可以少導(dǎo)入一個包。
匿名 2015-08-08
JDK的動態(tài)代理依靠接口實現(xiàn),如果有些類并沒有實現(xiàn)接口,則不能使用JDK代理。這個時候就需要使用Cglib在字節(jié)碼上做代理。
其實還是JDK本身的局限性導(dǎo)致的。
相關(guān)問答
實現(xiàn)Spring AOP 應(yīng)用的幾種方式
1個回答2022-09-30 11:31
非常好?。?!
spring aop 是什么意思
1個回答2022-07-31 03:02
Spring AOP是編程框架 AOP是OOP的延續(xù),是Aspect Oriented Programming的縮寫,意思是面向方面編程。AOP實際是GoF設(shè)計模式的延續(xù),設(shè)計模式孜孜不倦追求的是調(diào)用...
全文
spring 中的AOP是怎么實現(xiàn)的
1個回答2023-01-13 04:10
1使用ProxyFactoryBean的代理 2隱式使用ProxyFactoryBean的aop代理 DefaultAdvisorAutoProxyCreator實現(xiàn)了BeanPostProcesso...
全文
Spring中的AOP怎么理解
1個回答2022-09-19 16:24
aop的中文意思是面向切面編程。 之前java中有面向過程編程、面向?qū)ο缶幊蹋╫op) 這里aop可以為某一類對象進行監(jiān)督和控制從而達到對這個模塊擴充的功能。這些都是通過配置類來實現(xiàn)。
spring aop應(yīng)用于哪里
1個回答2022-06-13 20:03
spring aop是采用JAVA 動態(tài)代理設(shè)計模式設(shè)計的,目前主要應(yīng)用于 事務(wù),有了 Spring的 聲明式事務(wù)可以 對程序員編碼的代碼量減少很多,不用每層的持久化方法都自己控制事務(wù);
如何理解Spring的AOP
1個回答2022-09-14 00:07
切面編程。 就是在不修改源代碼的情況下給程序動態(tài)統(tǒng)一添加功能的一種技術(shù)
spring已經(jīng)實現(xiàn)了aop,為什么還要用aspectj
2個回答2023-12-20 13:21
spring AOP就是用aspectj來實現(xiàn)的,是依賴關(guān)系!AspectJ是動態(tài)代理的一種實現(xiàn)!而spring默認使用的就是AspectJ來實現(xiàn)的動態(tài)代理,spring自己的AOP就是使用Aspec...
全文
spring中的aop 是怎么面向切面編程的
1個回答2023-01-18 02:46
建議看看反射機制
spring中的aop術(shù)語的全稱是
1個回答2022-09-14 00:07
SQL中的LP的數(shù)的全稱就是說spire。而且這也是他的全稱。
跟spring aop管理事務(wù)有什么不同
1個回答2023-03-08 06:00
你好,別想的太難了,你可以參考一下底下: 1、使用基于注解的AOP事務(wù)管理 探索tx:annotation-driven標簽: 標簽是注解驅(qū)動的事務(wù)管理支持的核心。 標簽的屬性: transactio...
全文
熱門問答