注解解释
@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
网友评论