0
讓我們考慮一下,我有一些A類具有B類的屬性CGLIB代理,沒有空的構造
public class ClassA{
private ClassB classB;
public ClassA(ClassB classB){
this.classB = classB;
}
//some methods ommitted.
}
人無我有CGLIB代理:
public class CGLibProxy implements MethodInterceptor{
@Override
public Object intercept(Object object, Method method, Object[] args,
MethodProxy methodProxy) throws Throwable {
if (method.getName().startsWith("print")){
System.out.println("We will not run any method started with print");
return null;
}
else
return methodProxy.invokeSuper(object, args);
}
}
現在,當我使用CGLib
對於ClassA,代理創建ClassA實例。
我的問題是如何將classB參數傳遞給此代理,因爲據我所知CGLib將運行ClassA的空構造函數?