JAXB和未映射的属性
生活随笔
收集整理的這篇文章主要介紹了
JAXB和未映射的属性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JAXB(JSR-222)是例外配置,這意味著存在默認映射應用于域對象。 這意味著有時您需要顯式排除字段/屬性。 在本文中,我將討論如何使用@XmlTransient或@XmlAccessorType(XmlAccessType.NONE)以及何時使用每個選項。
@XmlTransient
當使用@XmlTransient標記字段/屬性時,您明確地告訴您的JAXB實現將其視為未映射的屬性。 當少于一半的字段/屬性未映射時,這很有用。
package blog.unmapped;import java.util.List; import javax.xml.bind.annotation.*;@XmlAccessorType(XmlAccessType.FIELD) public class Customer {@XmlTransientprivate int id;private String firstName;private String lastName;private Address billingAddress;private Address shippingAddress;private List<PhoneNumber> phoneNumbers;}如果未映射一半以上的字段/屬性,則由于異常,我們將停止獲得配置的好處,因為與映射映射的屬性相比,我們需要做更多的工作以使用@XmlTransient排除屬性。 接下來,我將演示如何在此用例中利用@XmlAccessorType(XmlAccessType.NONE)。
package blog.unmapped;import java.util.List; import javax.xml.bind.annotation.*;@XmlAccessorType(XmlAccessType.FIELD) public class Customer {@XmlTransientprivate int id;private String firstName;private String lastName;@XmlTransientprivate Address billingAddress;@XmlTransientprivate Address shippingAddress;@XmlTransientprivate List<PhoneNumber> phoneNumbers;}@XmlAccessorType(XmlAccessType.NONE)
通過設置@XmlAccessorType(XmlAccessType.NONE),我們將通過例外禁用配置。 現在,將僅映射顯式映射的屬性。 當少于一半的域對象的字段/屬性被映射時,這很有用。
package blog.unmapped;import java.util.List; import javax.xml.bind.annotation.*;@XmlAccessorType(XmlAccessType.FIELD) public class Customer {@XmlTransientprivate int id;private String firstName;private String lastName;@XmlTransientprivate Address billingAddress;@XmlTransientprivate Address shippingAddress;@XmlTransientprivate List<PhoneNumber> phoneNumbers;}進一步閱讀
如果您喜歡這篇文章,那么您還喜歡:
- 使用JAXB的@XmlAccessorType配置字段或屬性訪問
- 使用@XmlTransient忽略繼承
Java XML和JSON綁定博客中的JCG合作伙伴 Blaise Doughan的參考: JAXB和未映射的屬性 。
翻譯自: https://www.javacodegeeks.com/2012/04/jaxb-and-unmapped-properties.html
總結
以上是生活随笔為你收集整理的JAXB和未映射的属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机照片视频快速传到电脑如何把手机照片导
- 下一篇: 十大平板电脑(十大平板电脑,厂家直销,质