让我们考虑一下我有一些具有 B 类属性的 A 类。
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 运行空构造函数?