美文网首页
JAXB注解整理

JAXB注解整理

作者: Audience0 | 来源:发表于2019-06-20 18:54 被阅读0次

    注解解释
    @XmlRootElement --- 类级别注解
    将类映射为Xml全局元素,也就是根元素。常与@XmlType @XmlAccessorType @XmlAccessorOrder连用
    参数
    name属性用于指定生成元素的名字,若不指定,默认使用类名小写作为元素名。
    namespace属性用于指定生成的元素所属的命名空间。

    @XmlType ---类级别注解
    常与@XMLRootElement,@XmlAccessorType一起使用。
    参数
    name定义XML Schema中type的名称
    namespace指定Schema中的命名空间
    propOrder指定映射XML时的节点顺序,使用该属性时,必须列出JavaBean对象中所有字段,否则报错
    factoryClass指定UnMarshal时的生成映射类实例所需的工厂类,默认为这个类的本身。
    factoryMethod指定工厂类的方法

    @XmlAccessorType ---类级别注解
    定义这个类中的何种类型需要映射到XML。
    参数:value
    枚举值:
    XmlAccessType.FIELD 映射这个类中的所有字段到XML
    XmlAccessType.PROPERTY:映射这个类中的属性(get/set方法)到XML
    XmlAccessType.PUBLIC_MEMBER:将这个类中的所有public的field或property同时映射到XML(默认)
    XmlAccessType.NONE:不映射

    @XmlAccessorOrder ---类级别注解
    用于对Java对象生成的XML元素进行排序
    参数:value
    枚举值:
    XmlAccessOrder.ALPHABETICAL:对生成的xml元素按字母顺序排序;
    XmlAccessOrder.UNDEFINED:不排序。

    @XmlElement ---字段,方法,参数级别的注解
    该注解可以将被注解的(非静态)字段, 或者被注解的get/set方法对应的字段映射为本地元素,也就是子元素
    参数
    name 用于指定映射时的节点名称,指定生成元素的名字,若不指定,默认使用方法名小写作为元素名
    namespace 指定映射时的节点命名空间
    required 字段是否必须,默认false
    nillable 是否处理空数据,默认false
    type 定义该字段或属性的关联类型

    @XmlAttribute ---字段和方法级别的注解
    该注解会将字段或get/set方法对应的字段映射成本类对应元素的属性。
    参数
    name 用于指定映射时的节点属性名称,若不指定,默认使用方法小写作为元素名
    namespace 指定映射时的节点属性命名空间
    required 该属性是否必须,默认为false

    @XMLTransient --类,字段,方法级别的注解
    定义某一个字段或属性不需要被映射。该注解与所有其他JAXB注解相互排斥。

    @XmlElementWrapper ---仅允许出现在集合属性上
    注解表示生成一个包装XML表示形式的包装器元素,此元素主要用于生成一个包括集合的包装器XML元素。一般与@XMLElement一起使用
    参数
    name 指定包装的集合元素标签名称

    @XmlJavaTypeAdapter
    经常用于转换比较复杂的对象,例如map或者日期格式化等。使用此注解,需要自己写一个adapter继承XMLAdapter抽象类,并实现里面的方法。
    参数
    value 指定adapter的class

    @XMLList
    这个等于是在同一行中,把list中的输出,以空格形式分隔开来,


    image.png

    相关文章

      网友评论

          本文标题:JAXB注解整理

          本文链接:https://www.haomeiwen.com/subject/tqtcqctx.html