[英]default initialization value for jaxb generated class
我有一堂简单的课:
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class foo {
boolean bar = true;
boolean getBar () {
return this.bar;
}
void setBar (boolean bar) {
this.bar = bar;
}
}
请注意,创建类时,该bar初始化为true。
从生成的jaxb模式生成此类时,它将丢失默认的初始化。 是否有可以设置默认初始化值的jaxb批注? 或任何其他方式做到这一点?
更新:添加@XmlElement(defaultvalue =“ true”),如下所示:
@XmlElement (defaultvalue="true")
boolean getBar () {
return this.bar;
}
生成以下架构:
<xs:element default="true" name="bar" type="xs:boolean"/>
但是,Java的JAXB实现在重建类时不赞成这样做。 生成的类如下所示:
@XmlAccessorType(XmlAccessType.FIELD)
public class foo {
@XmlElement(defaultValue = "true")
protected boolean bar;
boolean getBar () {
return this.bar;
}
void setBar (boolean bar) {
this.bar = bar;
}
}
注意,我们丢失了bar的默认初始化值true。
JAXB批注@XmlElement(defaultValue = "defValue")
是您所需要的。 ( javadoc )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.