Introduction
本章介绍了 Spring 的 Object-XML Mapping 支持。Object-XML 映射(简称 O-X 映射)是将 XML 文档转换为对象的行为。这个转换过程也被称为XML Marshalling,或者 XML Serialization。本章可交替使用这些术语。
在 O-X 映射领域中,一个 marshaller 负责将一个对象(图)序列化为 XML。以类似的方式,一个解密器将 XML 反序列化为一个对象图。这个 XML可以采取 DOM 文档、输入或输出流、或 SAX 处理程序的形式。
使用 Spring 满足你的 O/X 映射需求的一些好处是:
- 易于配置
- 一致的接口
- 一致的异常层次结构
易于配置
Ease of configuration
Spring 的 Bean 工厂使得配置 marshallers 变得很容易,不需要构建 JAXB 上下文、JiBX 绑定工厂等等。你可以像配置应用程序上下文中的任何其他Bean 一样配置 marshallers。此外,基于 XML 命名空间的配置可用于许多 marshallers,使配置更加简单。
一致的接口
Consistent Interfaces
Spring 的 O-X 映射通过两个全局接口运行。Marshaller 和 Unmarshaller。这些抽象让你可以相对轻松地切换 O-X 映射框架,几乎不需要对进行编排的类进行任何改变。这种方法还有一个好处,就是可以用混合搭配的方式进行 XML 编排(例如,有些编排使用 JAXB,有些使用 XStream),以一种非侵入式的方式,让你使用每种技术的优势。
一致的异常层次结构
Consistent Exception Hierarchy
Spring 提供了从底层 O-X 映射工具的异常到其自身异常层次的转换,XmlMappingException 是根异常。这些运行时异常包裹着原始异常,因此不会丢失任何信息。