0

由于好奇,我检查了如何autobeans生成。我发现它使用sun.misc.ProxyGenerator类来生成autobean proxies并且它使用reflections. 但我不明白,它是如何在客户端工作的。那些使用reflections编译的方法javascript?这是否意味着我可以自己在客户端上使用反射?

4

1 回答 1

1

代理实例仅在服务器上使用,在真正的 JVM 中,反射起作用。您是正确的,GWT 代码不能使用一般反射。

为了在客户端生成它们,使用了 GWT 生成器。这会在 GWT 编译器仍在运行时完成所有反射,在真正的 JVM 中也是如此,并创建实现您的 autobean 接口和工厂的新类。

该类com.google.web.bindery.autobean.gwt.rebind.AutoBeanGenerator主要负责这项工作,并且com.google.web.bindery.autobean.gwt.rebind.model包的内容(并且,在一定程度上,com.google.web.bindery.autobean.shared)有助于这项工作。

于 2015-08-11T17:38:30.267 回答