Java反射和元编程

问题描述

| 我有一个bean数组,并使用反射通过它们的getter方法检索其中的值。所有的bean都是相同的类型,因此,除了对每个对象使用反射之外,还有什么方法可以生成将具有调用代码(或对象),并且我可以为不同类型的bean重新生成该对象?我已经在Lisp宏中听说过类似的事情,在Java中可能吗?     

解决方法

您可以看一下JAXP(http://download.oracle.com/javase/tutorial/jaxp/index.html),您可以在其中根据xml定义生成bean。对于大量的反思工作,我发现BeanUtils(http://commons.apache.org/beanutils/)很有帮助。     ,泛型可以帮助您在编译和发布类之前减少代码重复。 您还可以在运行时编译和部署类,请参见如何在运行时编译和部署Java类?     ,是的,您可以使用Velocity(和其他工具)来生成代码。但是,除非性能至关重要,否则反射的使用将简化10倍。