1

如何查看Spring创建/生成什么接口实现InvocationHandler然后创建代理对象?

代理对象有一个构造函数,用这个实现调用

public Proxy(InvocationHandler paramInvocationHandler)  {

   super(paramInvocationHandler);

}
4

1 回答 1

1

JDKdynamicAopProxy 是 InvocationHandler 的实现。这是创建代理对象的常规方法。

public Object getProxy(ClassLoader classLoader) {
    if (logger.isDebugEnabled()) {
        logger.debug("Creating JDK dynamic proxy: target source is " + this.advised.getTargetSource());
    }
    Class[] proxiedInterfaces = AopProxyUtils.completeProxiedInterfaces(this.advised);
    findDefinedEqualsAndHashCodeMethods(proxiedInterfaces);
    return Proxy.newProxyInstance(classLoader, proxiedInterfaces, this);
}

只需使用 classLoader、interfaces、InvocationHandler 调用 Proxy 的 args 方法。

于 2013-06-26T08:09:04.870 回答