之前我们写cglib动态代理的时候 创建代理对象时都是调用被代理对象的无惨构造
private Object targetObject;
public Object CreateProxy(Object targetObject){
this.targetObject = targetObject;
Enhancer enhancer = new Enhancer();//增强类
enhancer.setSuperclass(targetObject.getClass());//作为传参目标类子类
enhancer.setCallback(this);//回调设置为this 当前类
return enhancer.create();
}
下面的例子为大家带来cglib动态代理创建代理对象用被代理对象的有参构造 -->两个String类型的参数
private Obejct tarObject;
public <T>T CreateProxy(T tarObject){
this.tarObeject=tarObject;
Enhancer enhancer = new Enhancer();
enhancer.setSuperClass(tarObject.getClass());
enhancer.setCallback(this);
return (T)enhancer.create(new Class[]{String.class,String.class},new Object[]{null,null});
}