我想知道为什么在使用JAXB时我们需要指定注释@XmlAccessorType。
当我用Google搜索时,我从一个网站上找到了这个描述 @XmlAccessorType设置默认字段和属性可序列化。默认情况下,JAXB序列化公共字段和属性。通过设置@XmlAccessorType,bean可以选择仅允许对带注释的字段进行序列化。
这里作者提到,通过这个注释,它可以控制序列化。
我的问题是,所以@XmlAccessorType与从Java到Java和Java到XML的JAXB绑定和解除绑定无关,而且它只是关于序列化的。
答案 0 :(得分:15)
JAXB的@XmlAccessorType
注释仅供JAXB (JSR-222)实现用于确定如何将文件封送到XML或从XML封送文件:
通常,主要决定是在FIELD
& PROPERTY
/ PUBLIC
。当你在get / set方法中有逻辑时,FIELD
特别有用,你不希望在编组/解组时触发它。要查看此选项影响映射元数据的一种方式,请参阅:
NONE
是一个有用的选择。这比在模型中添加大量@XmlTransient
注释要容易得多。
更多信息