pojo如何使用普通Java动态生成JavaBean类?
我浏览了一些使用库从JSON、XML等生成bean类的示例。我想知道的是,是否有一种方法可以使用我给出的参数动态生成Javabean类
例如,如果我给出一个字符串数组作为参数,它现在将表示Pojo类的属性,那么如何生成Pojo
参数:{"field1", "field2", "field3"}
生成POJO将是:
public class TestBean {
private String field1;
TestBean() {
}
public String getField1() {
return field1;
}
public void setField1(String field1) {
this.field1 = field1;
}
}
字段2和字段3也应相同
在这里,我假设上面的所有属性都是字符串,并且类名现在是常量。我有什么办法可以做到这一点吗?提前谢谢
# 1 楼答案
在运行时生成实际Java类的问题是,您无法使用标准Java语法访问它,因为编译器不知道它
因此,在实践中,大多数人只是在这种情况下使用地图。我能想到的唯一一种情况是,如果需要生成一个真正的类,那么还有一些其他代码是无法更改的,它们需要一个Java对象,并使用反射或其他方式动态地检查它
如果您不需要它,那么最好使用一个映射,或者一些设计用于模拟JavaBean的实用程序类
apachebeanutils包提供了
DynaBean
接口来实现动态javabean。也就是说,只有从BeanUtils包的其余部分访问时,这些类才会被识别为bean根据需要,有几个子类,例如
LazyDynaBean
: