JAXB 的 @XmlTransient 和属性顺序

主要观点:之前文章介绍了@XmlTransient注解在类型级别可使类从继承层次结构中排除,在字段/属性级别可取消映射字段/属性,本文演示此操作对@XmlType注解的propOrder设置的影响。
关键信息:

  • 有抽象类Base作为继承层次结构的根,是映射类无需特殊处理。
  • Person类用@XmlTransient注解排除在继承层次结构映射之外,其父类Base仍被映射。
  • Customer类继承PersonPerson被标记@XmlTransient,其name属性可在propOrder中,Customer继承的Base未标记@XmlTransient,其id属性不能在propOrder中,propOrder设置不能包含标记@XmlTransient的字段/属性。
    重要细节:
  • Customer类有password属性用@XmlTransient注解,phoneNumbers属性用@XmlElement注解。
  • 演示代码通过JAXBContextMarshaller处理Customer对象的序列化和反序列化,输入和输出的 XML 显示标记@XmlTransient的属性不被包含。
阅读 8
0 条评论