javascript
Spring AOP两种实现机制是什么?
Spring AOP兩種實(shí)現(xiàn)機(jī)制是什么?
1.如果是有接口聲明的類進(jìn)行AOP 時(shí),spring調(diào)用的是java.lang.reflection.Proxy 類來(lái)做處理
2.如果是沒(méi)有接口聲明的類時(shí), spring通過(guò)cglib包和內(nèi)部類來(lái)實(shí)現(xiàn)
在AOP,權(quán)限控制,事務(wù)管理等方面都有動(dòng)態(tài)代理的實(shí)現(xiàn)。JDK本身有實(shí)現(xiàn)動(dòng)態(tài)代理技術(shù),但是略有限制,即被代理的類必須實(shí)現(xiàn)某個(gè)接口,否則無(wú)法使用JDK自帶的動(dòng)態(tài)代理,因此,如果不滿足條件,就只能使用另一種更加靈活,功能更加強(qiáng)大的動(dòng)態(tài)代理技術(shù)—— CGLIB。Spring里會(huì)自動(dòng)在JDK的代理和CGLIB之間切換,同時(shí)我們也可以強(qiáng)制Spring使用CGLIB。
<aop:aspectj-autoproxy ? proxy-target-class="true" ? />配置了這句話的話就會(huì)強(qiáng)制使用cglib代理。 ?默認(rèn)就是false。
總結(jié)
以上是生活随笔為你收集整理的Spring AOP两种实现机制是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: APK 加壳方法
- 下一篇: Spring支持如下5种作用域