有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    在运行时生成实际Java类的问题是,您无法使用标准Java语法访问它,因为编译器不知道它

    因此,在实践中,大多数人只是在这种情况下使用地图。我能想到的唯一一种情况是,如果需要生成一个真正的类,那么还有一些其他代码是无法更改的,它们需要一个Java对象,并使用反射或其他方式动态地检查它

    如果您不需要它,那么最好使用一个映射,或者一些设计用于模拟JavaBean的实用程序类

    apachebeanutils包提供了DynaBean接口来实现动态javabean。也就是说,只有从BeanUtils包的其余部分访问时,这些类才会被识别为bean

    根据需要,有几个子类,例如LazyDynaBean

    DynaBean myBean = new LazyDynaBean();
    myBean.set("myProperty", "myValue");