如何在java中创建代理

他们如何在java中创建一个class代理。 他们是否根据需要创建代理,或者他们创建代理并永远拥有代理。

您可以通过两种基本方式创建代理:

  • 使用JDK机制,通过接口。 看看java.lang.reflect.Proxy
  • 在一个具体的类上使用一些字节码生成/操作库。 看看cglib和javassist

Apache有一个很好的实用程序: commons-proxy 。 它包含了许多用于创建代理的机制和框架。

这完全是关于动态代理 – 即在运行时创建的代理。 对于静态代理 – 请参阅维基百科有关代理模式的信息

请注意,您不是在创建类的代理 – 您正在创建对象的代理。

我同意这个问题有点模糊的评论。 但是,我建议你看看一些模拟框架,比如easymock和mockito。 他们的源代码是可用的,他们的核心function是创建类和接口的代理。 因此,它们是如何创建代理的良好具体示例。