zoukankan      html  css  js  c++  java
  • JAXB简记

    JAXB 2.0是JDK 1.6的组成部分。JAXB 2.2.3是JDK 1.7的组成部分。

    JDK中JAXB相关的重要Class和Interface:

    JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。
    Marshaller接口,将Java对象序列化为XML数据。
    Unmarshaller接口,将XML数据反序列化为Java对象。

    JDK中JAXB相关的重要Annotation:

    @XmlType,将Java类或枚举类型映射到XML模式类型
    @XmlAccessorType(XmlAccessType.FIELD) ,控制字段或属性的序列化。FIELD表示JAXB将自动绑定Java类中的每个非静态的(static)、非瞬态的(由@XmlTransient标注)字段到XML。其他值还有XmlAccessType.PROPERTY和XmlAccessType.NONE。
    @XmlAccessorOrder,控制JAXB 绑定类中属性和字段的排序。
    @XmlJavaTypeAdapter,使用定制的适配器(即扩展抽象类XmlAdapter并覆盖marshal()和unmarshal()方法),以序列化Java类为XML。
    @XmlElementWrapper ,对于数组或集合(即包含多个元素的成员变量),生成一个包装该数组或集合的XML元素(称为包装器)。
    @XmlRootElement,将Java类或枚举类型映射到XML元素。
    @XmlElement,将Java类的一个属性映射到与属性同名的一个XML元素。
    @XmlAttribute,将Java类的一个属性映射到与属性同名的一个XML属性。

    其他:

    对于要序列化(marshal)为XML的Java类,绝不能把成员变量声明为public,否则运行将抛出异常com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException。
    对于JAXB相关的重要Annotation的声明,如@Xml.....,可以放在成员变量的setter()getter()方法上,两者中任选其一即可,但决不能放在成员变量上,否则运行将抛出异常com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException。
     
     
  • 相关阅读:
    grep
    virtualbox共享文件夹无法创建软链接的解决方法
    openH264的双向链表实现
    openH264构建过程
    Ninja构建系统入门
    ubuntu上安装meson & 如何使用meson编译C代码
    ln: failed to create symbolic link ‘libopenh264.so.6’: Operation not permitted
    RAII-资源获取即初始化
    可变参数实现原理-参数栈
    一个统计多文件单行字符串出现次数QT实现
  • 原文地址:https://www.cnblogs.com/lijc1990/p/2952096.html
Copyright © 2011-2022 走看看