getter与setter与成员之间的JAXB注释之间的区别是什么?

ste*_*son 16 java xml jaxb marshalling unmarshalling

标题说明了一切.

我想知道@XmlElement在字段/ getter/setter上放置JAXB注释(如)之间的主要区别是什么.在我看来(在简单的情况下)它并不重要.

我们拿这个吧

class A  {
    private String a;

    public String getA() { return a; }

    public void setA(String a) { this.a = a; }
}
Run Code Online (Sandbox Code Playgroud)

现在在我看来,如果我放置@XmlElement成员字段或getter/setter 并不重要.它只是编组好的.当我需要做出改变并且什么时候重要时,是否有任何用例?

当我去解组这个(xml回到A)JAXB具体做什么?

我正在使用JAXB MOXy实现

谢谢

bdo*_*han 12

默认情况下,JAXB impls会将属性(获取/设置对),公共字段(实例变量)和带注释的非公共字段视为映射.如果您只是注释一个字段,您将获得一个重复的映射属性异常.

如果要注释该字段,则应@XmlAccessorType(XmlAccessType.FIELD)在类上指定.

欲获得更多信息