- 浏览: 96475 次
- 性别:
文章分类
- 全部博客 (151)
- Spring-MVC学习 (5)
- 偶然间发现 (2)
- easyUi学习 (7)
- web项目相关技术 (4)
- java学习 (26)
- webService (4)
- 一些工具的安装使用 (7)
- js学习 (20)
- Sping学习 (7)
- mybatis学习 (5)
- 定时器 (4)
- oracle (2)
- JSP学习 (6)
- HTML一些标签 (1)
- web服务 (2)
- 偶尔得到的地址 (2)
- 常用的代码记录 (2)
- 设计模式 (1)
- java常使用的开源API (1)
- maven (1)
- Socket (1)
- nginx (2)
- jquery (3)
- poi (2)
- 写过的工具类 (19)
- 微信开发 (2)
- mysql (1)
- freemarker (2)
- ftp (1)
- 用过的软件 (1)
- jconsole (1)
- log4j (1)
- redis的简单入门使用 java调用redis (0)
- redis的使用 (2)
- 生活相关的 (1)
最新评论
-
chokee:
...
easyUi学习之开启行编辑模式增删改操作 -
lijie_insist:
就是有的界面需要显示天气啊!所以你要调用天气的接口啊 因为很多 ...
免费的天气接口的一个demo -
zhglance:
请问这是干什么用的呢?
免费的天气接口的一个demo
jaxb的annotation的理解
一.Jaxb处理java对象和xml之间转换常用的annotation有:
@XmlType
@XmlElement
@XmlRootElement
@XmlAttribute
@XmlAccessorType
@XmlAccessorOrder
@XmlTransient
@XmlJavaTypeAdapter
@XmlType用在class类的注解,常与@xmlRootElement和@XmlAccessorType一起使用.它有三个属性:name,namespace,propOrder,经常使用的前两个属性, 如:
@XmlType(name = "basicStruct",propOrder={"intValue","stringArray","stringValue"})
在使用propOrder的属性时,必须列出JavaBean对象中的所有属性,否则会报错。
@XmlElement用在java对象的属性映射成为xml的节点,在使用xmlElement时可通过name属性改变java属性在xml中显示的名字,例:
@XmlRootElement用于类级别的注解,常与xmlType和xmlAccesorType一起使用,例:
@XmlAttribute 用于把java对象的属性映射为xml的属性,并可通过name属性为生成的xml属性指定别名。如:
@XmlAccesorType 用于指定由java对象生成xml文件时对java对象属性访问的方式,常与xmlType和xmlAccessType连用,他的属性值是XmlAccessorType的四个枚举值:
XmlAccessType.FIELD:java对象中的所有成员变量
XmlAccessType.PROPERTY:java对象中所有通过getter/setter方式访问的成员变量
XmlAccessType.PUBLIC_MEMBER:java对象中所有的public访问权限的成员变量和通过getter/setter方式访问的成员变量
XmlAccessType.NONE:java对象的所有属性都不映射为xml的元素
注意:@XmlAccessorType的默认访问级别是XmlAccessType.PUBLIC_MEMBER,因此,如果java对象中的private成员变量设置了public权限的getter/setter方法,就不要在 private变量上使用@XmlElement和@XmlAttribute注解,否则在由java对象生成xml时会报同一个属性在java类里存在两次的错误。同理,如果@XmlAccessorType的访问权限为XmlAccessType.NONE,如果在java的成员变量上使用了@XmlElement或@XmlAttribute注解,这些成员变量依然可以映射到xml文件。
@XmlAccessorOrder用于对java生成的xml文件进行排序,它有两个属性值:
AccessorOrder.ALPHABETICAL:对生成的xml元素按字母书序排序
XmlAccessOrder.UNDEFINED:不排序
@XmlTransient 用于表示再由java生成xml文件时候忽略此属性,xml文件中不出现此元素
@XmlJavaTypeAdapter 让用于转换比较复杂的类型时,如map类型和时间属性的格式化,使用此注解时需要自己写一个Adapter类来继承XmlAdapter抽象类,并实现其中的方法 例:
public abstract class XmlAdapter<ValueType,BoundType> {
@XmlElementWrapper注解表示生成一个包装 XML 表示形式的包装器元素。 此元素主要用于生成一个包装集合的包装器 XML 元素。因此,仅允许出现在集合属性上。例如(set,string[],list等)与xmlElement联用.,例:
以上就是jaxb的常用注解! 也是我在一篇文章中看到的 就参考下来了
一.Jaxb处理java对象和xml之间转换常用的annotation有:
@XmlType
@XmlElement
@XmlRootElement
@XmlAttribute
@XmlAccessorType
@XmlAccessorOrder
@XmlTransient
@XmlJavaTypeAdapter
@XmlType用在class类的注解,常与@xmlRootElement和@XmlAccessorType一起使用.它有三个属性:name,namespace,propOrder,经常使用的前两个属性, 如:
@XmlType(name = "basicStruct",propOrder={"intValue","stringArray","stringValue"})
在使用propOrder的属性时,必须列出JavaBean对象中的所有属性,否则会报错。
@XmlElement用在java对象的属性映射成为xml的节点,在使用xmlElement时可通过name属性改变java属性在xml中显示的名字,例:
@XmlElement(name="address") private String yourAddress;
@XmlRootElement用于类级别的注解,常与xmlType和xmlAccesorType一起使用,例:
@XmlType @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement public class Address {}
@XmlAttribute 用于把java对象的属性映射为xml的属性,并可通过name属性为生成的xml属性指定别名。如:
@XmlAttribute(name="Country")
@XmlAccesorType 用于指定由java对象生成xml文件时对java对象属性访问的方式,常与xmlType和xmlAccessType连用,他的属性值是XmlAccessorType的四个枚举值:
XmlAccessType.FIELD:java对象中的所有成员变量
XmlAccessType.PROPERTY:java对象中所有通过getter/setter方式访问的成员变量
XmlAccessType.PUBLIC_MEMBER:java对象中所有的public访问权限的成员变量和通过getter/setter方式访问的成员变量
XmlAccessType.NONE:java对象的所有属性都不映射为xml的元素
注意:@XmlAccessorType的默认访问级别是XmlAccessType.PUBLIC_MEMBER,因此,如果java对象中的private成员变量设置了public权限的getter/setter方法,就不要在 private变量上使用@XmlElement和@XmlAttribute注解,否则在由java对象生成xml时会报同一个属性在java类里存在两次的错误。同理,如果@XmlAccessorType的访问权限为XmlAccessType.NONE,如果在java的成员变量上使用了@XmlElement或@XmlAttribute注解,这些成员变量依然可以映射到xml文件。
@XmlAccessorOrder用于对java生成的xml文件进行排序,它有两个属性值:
AccessorOrder.ALPHABETICAL:对生成的xml元素按字母书序排序
XmlAccessOrder.UNDEFINED:不排序
@XmlTransient 用于表示再由java生成xml文件时候忽略此属性,xml文件中不出现此元素
@XmlJavaTypeAdapter 让用于转换比较复杂的类型时,如map类型和时间属性的格式化,使用此注解时需要自己写一个Adapter类来继承XmlAdapter抽象类,并实现其中的方法 例:
public abstract class XmlAdapter<ValueType,BoundType> {
// Do-nothing constructor for the derived classes. protected XmlAdapter() {} // Convert a value type to a bound type. public abstract BoundType unmarshal(ValueType v); // Convert a bound type to a value type. public abstract ValueType marshal(BoundType v); }
@XmlElementWrapper注解表示生成一个包装 XML 表示形式的包装器元素。 此元素主要用于生成一个包装集合的包装器 XML 元素。因此,仅允许出现在集合属性上。例如(set,string[],list等)与xmlElement联用.,例:
@XmlElementWrapper(name="books") @XmlElement(name="book") public Set<Book> getBook() { return book; } public void setBook(Set<Book> book) { this.book = book; }
以上就是jaxb的常用注解! 也是我在一篇文章中看到的 就参考下来了
发表评论
-
ajax的分页分页请求,通过ajax来分页
2015-12-01 14:55 443这里面通过自定义标签实现的,因为项目没有采用jsp模板而是用的 ... -
java学习之JAXB解析xml
2015-08-17 09:07 906时间仓促,只记录代码 //实体类 package com.w ... -
生成验证码的方法
2015-07-17 08:43 2忘了在哪里参考过代码,后来自己参照了写了这一段code pac ... -
javax.mail邮件发送返回状态吗
2015-07-02 17:35 1585项目需要集成邮件发送,之前在.net下写过smtp的邮 ... -
javax.mail邮件发送
2015-06-30 12:50 0package com.demo.common; impor ... -
java的(PO,VO,TO,BO,DAO,POJO)解释
2015-06-04 11:31 427原地址:http://www.cnblogs. ... -
JDBC学习
2015-04-21 10:02 287原文来自:http://blog.csdn.net/fight ... -
j2ee web项目的基本结构
2015-03-20 14:50 523原地址:http://www.cnblogs.co ... -
HTTP 返回的状态码的含义
2015-03-20 14:38 430在网上看到的,总结的蛮 ... -
java学习之try catch finally中的return语句执行
2015-03-10 14:21 529http://blog.csdn.net/kavensu/ar ... -
java反射机制的学习
2015-03-06 13:39 345http://blog.csdn.net/zzjjiandan ... -
java学习之时间类的使用
2015-03-06 10:26 466有时候要对时间进行各方面的操作,这里就记录下最近使用到的对时间 ... -
为什么接口的属性用public static final修饰
2015-03-05 09:14 550每次只是看了看.好多都没去实践和去想! 自己写了个接口才会想到 ... -
正则表达式的学习
2015-03-04 11:10 340http://help.locoy.com/Document/ ... -
面向对象的特征
2015-03-02 17:56 372今天看到一篇文章对面 ... -
Class.forName("className"),class.getClass,class.class区别
2015-02-27 17:43 380今天看java.lang.reflect包中的信息时,想到了这 ... -
java调用webservice(asmx)的例子
2015-02-04 16:54 427转自:http://www.blogjava.net/jerr ... -
java学习之流的学习
2015-01-21 14:12 373因为经常用到流,并且发现java中的数据流的确很多种类,而自己 ... -
java学习之图片上传,下载显示demo
2015-01-19 10:43 2543每次都是用的框架来弄 ... -
java学习之String的一些处理函数
2014-12-12 17:17 555前两天开发一个关于解析数据的一个小功能,发现需要大肆的用到St ...
相关推荐
Java学习之JAXB(Java Architecture for XML Binding)的学习一 JAXB是Java平台的一个标准,它为XML到Java对象的绑定提供了一种自动的方式,使得XML数据能够在Java应用程序中轻松地进行序列化和反序列化。这个技术...
Java Architecture for XML Binding (JAXB) 是一个Java标准,它提供了在Java对象和XML文档之间进行自动转换的能力。这项技术极大地简化了XML数据处理,使得开发者可以方便地将Java对象序列化为XML,或者从XML数据中...
2. **生成XML Schema(可选)**:如果你有预先定义的XML Schema(XSD),你可以使用JAXB的`xjc`工具将其转换为对应的Java类。 3. **创建Unmarshaller和Marshaller对象**:这两个对象分别用于反序列化和序列化。可以...
JAXB2是JAXB的第二个主要版本,它引入了更强大的功能和改进,如注解支持,使得XML绑定更加直观和便捷。本教程将通过一个实际的demo实例来详细讲解如何使用JAXB2来生产Java类。 **1. JAXB2概述** JAXB2是Java SE 6及...
Java JDK 1.6是Java开发工具包的一个重要版本,发布于2006年,引入了许多增强功能和新特性,极大地提升了开发效率...通过这样的示例,学习者可以深入理解JAXB的工作原理,以及它如何简化Java程序与XML数据交互的过程。
Java中的JAXB(Java Architecture for XML Binding)是一个用于在Java对象和XML文档之间进行映射的标准API。这个技术使得开发者可以方便地将XML数据转换为Java对象,反之亦然。在给定的压缩包文件中,可能包含了实现...
2. **实例化(Unmarshalling)**:当需要将XML数据转换为Java对象时,JAXB使用Unmarshaller接口解析XML文档,生成对应的Java对象。这个过程是将XML数据"反序列化"为可操作的Java对象。 3. **序列化(Marshalling)*...
2. **注解驱动的绑定**:学习如何使用`@XmlRootElement`,`@XmlElement`,`@XmlAttribute`等注解来标记Java类和其成员,以便JAXB理解如何进行转换。 3. **绑定配置文件**:在某些复杂场景下,可能需要使用`bindings...
总之,学习JAXB不仅可以帮助你理解XML与Java之间的转换机制,还能提升你在开发中处理XML数据的能力。通过深入学习和实践,你将能够熟练运用JAXB进行XML的解析和编码,提高项目开发的效率和质量。
2. **二进制库**:包含JAXB运行时库的JAR文件(如`lib/jaxb-ri-runtime.jar`),这些库文件可以在Java项目中作为依赖引入,实现XML到Java对象的自动映射。 3. **源代码**:如果包含源码(如`src`目录),开发者可以...
Java学习电子书合集是一个全面涵盖Java编程各个方面的资源包,包含了从基础到高级的各类教程和参考书籍。这个合集旨在帮助初学者和有经验的开发者深化对Java语言的理解,提升编程技能。 《JAVA 编程思想》是Java...
**JAXB简介** Java Architecture for XML Binding (JAXB) 是Java平台上的一个重要标准,它提供了一种机制,能够将XML文档与Java...通过学习和掌握JAXB,开发者能够更加高效地处理XML数据,提升项目的开发效率和质量。
**Java Architecture for XML Binding (JAXB) 2.0** 是一个Java标准,它提供了一种将XML数据与Java对象之间进行自动转换的机制。这个技术是Java平台企业版(Java EE)的一部分,也是Java标准版(Java SE)的一个可选...
### jaxb学习资料知识点详解 #### 一、JAXB概览 JAXB,全称为Java Architecture for XML Binding,是一种用于处理XML数据的Java API。它允许开发者将Java类与XML文档之间的转换过程自动化,从而简化了数据交换的...
2. **XML到Java对象**: 反之,JAXB也能将XML解析为对应的Java对象,这被称为XML到对象的绑定。 **二、注解的使用** 在JAXB中,我们通常使用注解来标注Java类和字段,以便JAXB知道如何处理它们。以下是一些常用的...
总结来说,JAXB是Java中处理XML的强大工具,通过学习JAXB的HelloWorld源码,新手可以快速上手,理解XML和Java对象之间的绑定,以及如何进行序列化和反序列化操作。随着对JAXB的深入理解和实践,开发人员能够更高效地...
《Java2全方位学习》是针对Java编程语言的一本详尽教程,主要面向初学者和有一定经验的开发者。这本书分为上下两册,旨在帮助读者全面掌握Java2的核心概念和技术。通过阅读这本书,读者可以深入理解Java语言的基础...
2. **JavaEE 5中的JAXB注解元素**:在`javax.xml.bind.annotation`包中提供了一系列注解,用于标注Java类,使其与XML元素进行映射。 #### 九、示例 以下是一个简单的示例,展示了如何使用JAXB操作XML文档。 1. **...
在Java开发中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它具有良好的结构化和可读性。...在提供的链接中,博主Eric Xiong的博客可能更深入地探讨了JAXB的使用和实践,可以作为进一步学习的资源。