该情况适用于被代理对象没有接口的情况
public class CGlibProxyFactory implements MethodInterceptor {
private Object targetObject;
//创建代理对象
public Object createProxyIntance(Object targetObject) {
this.targetObject = targetObject;
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(this.targetObject.getClass());
enhancer.setCallback(this);
return enhancer.create();
}
public Object intercept(Object arg0, Method arg1, Object[] args,
MethodProxy methodProxy) throws Throwable {
PersonServiceBean psb = (PersonServiceBean)this.targetObject;
Object result = null;
if(psb.getUser() != null) {
result = methodProxy.invoke(targetObject, args);
}
return null;
}
}