在本章中,我们将介绍Spring的Object/XML Mapping
支持。Object/XML
映射(简称为O/X
映射)是将XML文档转换为对象或从对象转换的操作。此转换过程也称为XML编组或XML序列化。本章可互换使用这些术语。
在O/X
映射领域,编组者负责将对象(图)序列化为XML。以类似的方式,解组器将XML反序列化为对象图。此XML可以采用DOM文档,输入或输出流或SAX处理程序的形式。
使用Spring的O/X
映射需求的一些好处是:
21.1.1易于配置
Spring的bean工厂可以轻松地配置编组器,而不需要构建JAXB上下文,JiBX绑定工厂等。编组器可以配置为应用程序上下文中的任何其他bean。另外,基于XML Schema的配置可用于多个编组器,使配置更加简单。
21.1.2一致的接口
Spring的O/X
映射通过两个全局接口进行操作:Marshaller
和Unmarshaller
接口。这些抽象允许您相对轻松地切换O/X
映射框架,对编组的类进行很少或不需要更改。这种方法具有额外的优点,可以利用混合匹配方法(例如使用JAXB执行的其他使用XMLBeans的一些编组)以非侵入的方式进行XML编组,利用每种技术的优势。
21.1.3一致的异常层次结构
Spring提供从基础O / X映射工具的异常到其自己的异常层次结构的转换,XmlMappingException
作为根异常。可以预期,这些运行时异常包装原始异常,因此不会丢失任何信息。