是否可以从xml配置文件动态声明java pojo bean类?
说配置文件是否像 - A.xml:
<xml>
<memberValues>
<memberValue>
<dataType>String</dataType>
<name>productName</name>
<value>Hello World!</value>
</memberValue>
<memberValue>
<dataType>Double</dataType>
<name>productPrice</name>
<value>31.99</value>
</memberValue>
...
<memberValues>
</xml>
它应该像动态一样声明一个新的java pojo bean类 - A.java:
public class A{
private String productName = "Hello World!";
private Double productPrice = 31.99;
//getters and setters
...
}
答案 0 :(得分:1)
最好的办法是生成Java源代码并调用JavaCompiler类。见http://docs.oracle.com/javase/7/docs/api/javax/tools/JavaCompiler.html
答案 1 :(得分:0)
这与我想要的非常接近: http://blog.javaforge.net/post/31913732423/howto-create-java-pojo-at-runtime-with-javassist
答案 2 :(得分:-1)
您可以使用JAXB java API
来完成如果你的xml是,
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<employee id="1">
<name>User</name>
<salary>50000.0</salary>
</employee>
然后您可以使用以下java代码将xml文件转换为java对象
JAXBContext jaxbContext = JAXBContext.newInstance(Employee.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Employee e=(Employee) jaxbUnmarshaller.unmarshal(file);
有关详细信息,请参阅link