How to create proxy in java

2020-02-26 11:45发布

How do they create proxy of a class in java. Do they create the proxy on as needed basis or they create it and have it around forever.

标签: java proxy
2条回答
【Aperson】
2楼-- · 2020-02-26 12:16

You can create proxies in two basic ways:

  • using the JDK mechanism, by interface. Take a look at java.lang.reflect.Proxy.
  • using some byte-code generation/manipulation library, on a concrete class. Take a look at cglib and javassist

Apache has a nice utility: commons-proxy. It wraps many mechanisms and frameworks for creating proxies.

This is all about dynamic proxies - i.e. those created at runtime. For static proxies - see wikipedia about the proxy pattern

Note that you are not making a proxy of a class - you are making a proxy of an object.

查看更多
萌系小妹纸
3楼-- · 2020-02-26 12:20

I agree with the comments that the question is a little vague. However, I'd suggest you look at some of the mocking frameworks such as easymock and mockito. Their source code is available and their core functionality is creating proxies of class and interfaces. So they are good concrete examples of how to go about creating proxies.

查看更多
登录 后发表回答