文章21 | 阅读 8713 | 点赞0
摘要: JAXB 作为JDK的一部分,能便捷地将Java对象与XML进行相互转换,本教程从实际案例出发来讲解JAXB 2 的那些事儿。完整版目录
Object/XML Mapping (O/X mapping)指XML文档与Java对象之间的映射关系。
常见的O/Xmapping API:
当你接触到JAXB的时候,相信你对Java已经有了一定的认知,至少已经听说或使用过SAX,DOM等处理XML数据的方法。SAX使用起来比较麻烦,不能修改XML数据;DOM解析几乎不能将XML与Java对象映射起来,所有的值类型都只能对应为字符串类型。实际上,无论是SAX还是DOM都不是专门为Java准备的,它们都是访问XML文档的统一底层接口,与语言无关。而JAXB为XML节点和属性提供提供了各种面向对象的处理方式,可以基于注解或适配器将XML转换为Java对象。因为其优雅的处理方式,从JRE6开始,JAXB就已经成为了JRE的内置模块。
XML 是各种应用程序之间进行数据传输的最常用的语言之一,而JAXB提供了一个快速便捷的方式将Java对象与XML进行转换。
在处理XML文档时,使用JAXB要比使用JAXP(DOM、SAX和StAX)更方便。但不表明DOM、SAX和StAX就再无用武之地,JAXB的底层实现可是基于JAXP的。
JAXB 1.0 由Java 社区开发与维护。
在2006年,发布JAXB 2.0 版本后,成为了J2SE和J2EE平台的一部分。
2006年,发布的Java SE 6 采用JAXB 2.0。
2011年,发布的J2SE 7 采用JAXB 2.2.3。
2014年,发布的J2SE 8 采用JAXB 2.2.8。
2017年,发布的J2SE 9 采用JAXB 2.3.0,不过该模块被标记为废弃的(deprecated )。
在Java 11中,JAXB 将会从J2SE中去除,只保留J2EE版本中的JAXB。
一般地,我们将Java对象转换为XML的过程称之为Marshal
,将XML转换为Java对象的过程称之为UnMarshal。
为了能告诉转换器使用什么样的规则进行转换,JAXB提供了如下两种方式:
应用的入口,用于管理XML/Java绑定信息。
将Java对象序列化为XML数据。
将XML数据反序列化为Java对象。
JAXB(Java Architecture for XML Binding)是JSE和JEE平台的一部分,让开发者能够快速完成java类和XML的互相映射。虽然它官方、简洁(不需要引入依赖jar包),确被另外一个产品jackson 的名声盖过了。jackson 对于处理 JSON 有着独特的优势,对XML 的转换也有比较好的支持(虽然是基于JAXB)。
在对 JAXB 有一个整体的认知以后,下一节将通过简单的示例,演示 JAXB 的使用流程。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://jiangchao.blog.csdn.net/article/details/81843478
内容来源于网络,如有侵权,请联系作者删除!