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