你知道我是否可以填充javabean,但我不想使用反射。
例如,我有这个 xml 模板来填充它
示例 XML 文件
<property name = "card" value = "cdd"/>
public class Customer {
private String card;
public void setCard(String card) {
this.card = card;
}
public String getCard() {
}
}
我想在 Java bean 上调用 setCard,但我不想使用反射 因为我以前用过它而且速度很慢,
还有其他选择吗?例如,Hibernate 是如何做到这一点的?
谢谢 卡洛
最佳答案
从 XML 填充 JavaBean 的唯一更快的方法(即比使用反射更快)是编写或生成一些绑定(bind)代码,这些代码使用从 XML(在本例中是从 XML 属性)提取的值来调用 setter。
手动编写绑定(bind)代码是最简单的方法...只要您不需要编写太多内容。
代码可以作为源代码生成并编译。
可以使用字节码生成技术(例如 BCEL 或 ASM)生成代码。
可能存在一些现有的 XML 到 JavaBean 绑定(bind)生成器,尽管现有的绑定(bind)很可能使用反射而不是代码生成。
但是,尚不清楚是否值得费心避免反射(reflection)。虽然反射的成本相对较高,但 XML 的成本可能要高得多。我建议您在决定使用更复杂的实现方法之前进行一些分析。
关于java - 如何使用反射以外的方式填充 JavaBean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529662/