2016-06-29 60 views

回答

6

Ref Spring docs。 什麼是CGLIB &它與Spring有什麼關係?

CGLIB是一個代碼生成庫。 Spring使用CGLIB來生成代理。

Spring AOP默認使用AOP代理的標準JDK動態代理。這使得任何接口(或一組接口)都可以被代理。

是的,你必須告訴spring明確使用基於CGLIB的代理。

通過xml:

<aop:aspectj-autoproxy proxy-target-class="true"/>代理目標類屬性設置爲true,將會導致基於CGLIB的代理生效。

通過譯註:

@Configuration 
@EnableAspectJAutoProxy(proxyTargetClass=true) 
public class AppConfig { 
    // ... 
} 

沒有必要CGLIB添加到類路徑。從Spring 3.2開始,CGLIB被重新包裝幷包含在Spring-JAR中。

你也可以看看this