JAXB-从XSD生成类时初始化新对象

时间:2019-06-26 14:38:45

标签: java spring maven intellij-idea jaxb

我正在使用Maven和Spring进行Java项目,该项目使用JAXB从复杂的XSD文件生成Java类。但是,如果类中有对象,我希望将它们作为新对象生成。我正在使用Intellij进行生成。

例如,如果生成的java类看起来像这样(删除了所有自动生成的注释,以便您可以更轻松地阅读它)

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "car", namespace = "http://foo.bar.com/car/read", propOrder = {
    "driver",
    "licenseNumber"
})
public class Car {

    @XmlElement(namespace = "http://foo.bar.com/car/read", required = true)
    protected Person driver;
    @XmlElement(namespace = "http://foo.bar.com/car/read", required = true)
    protected String licenseNumber;

    public String getDriver() {
        return driver;
    }

    public void setDriver(Person value) {
        this.driver = value;
    }

    public String getLicenseNumber() {
        return licenseNumber;
    }

    public void setLicenseNumber(String value) {
        this.setLicenseNumber = value;
    }

我想做的是将driverlicenseNumber初始化为新对象,而不是null。例如

    @XmlElement(namespace = "http://foo.bar.com/car/read", required = true)
    protected Person driver = new Person();
    @XmlElement(namespace = "http://foo.bar.com/car/read", required = true)
    protected String licenseNumber = new String();

是否可以通过这种方式使JAXB生成Java类?最好的方法是什么?

0 个答案:

没有答案