Spring OXM简介

O/X Mapping 是什么?

  Spring 3.0 的一个新特性是 O/X Mapper。然而O/X Mapping并不是新鲜的事物,Spring也是调用了第三方的O/X Mapping框架来完成他本身的工作。O=Object,X=XML,也就是对象与XML的映射器(转换器)。

编组和解组

  进行 O/X 映射时,您经常会看到编组(marshalling)和解组(unmarshalling) 这两个术语。

  编组 指将 Java bean 转换成 XML 文档的过程,这意味着 Java bean 的所有字段和字段值都将作为 XML 元素或属性填充到 XML 文件中。有时,编组也称为序列化(serializing)。

  如您所料,解组 是与编组完全相反的过程,即将 XML 文档转换为 Java bean,这意味着 XML 文档的所有元素或属性都作为 Java 字段填充到 Java bean 中。有时,解组也称为反序列化(deserializing)。

使用 Spring 的 O/X Mapper 的好处

  使用 Spring 的 O/X Mapper 的一个最直接的好处是可以通过利用 Spring 框架的其他特性简化配置。Spring 的 bean 库支持将实例化的 O/X 编组器注入(即前面提到过的 “依赖项注入”)使用那些编组器的对象。重申一遍,这将加快应用程序开发和部署。

  遵循坚实的面向对象的设计实践,Spring O/X 框架只定义两个接口:Marshaller 和 Unmarshaller,它们用于执行 O/X 功能,这是使用这个框架的另一个重大好处。这些接口的实现完全对独立开发人员开放,开发人员可以轻松切换它们而无需修改代码。例如,如果您一开始使用 Castor 进行 O/X 转换,但后来发现它缺乏您需要的某个功能,这时您可以切换到 XMLBeans 而无需任何代码更改。唯一需要做的就是更改 Spring 配置文件以使用新的 O/X 框架。

  使用 Spring 的 O/X Mapper 的另一个好处是统一的异常层次结构。Spring 框架遵循使用它的数据访问模块建立的模式,方法是将原始异常对象包装到 Spring 自身专为 O/X Mapper 建立的运行时异常中。由于第三方提供商抛出的原始异常被包装到 Spring 运行时异常中,您能够查明出现异常的根本原因。您也不必费心修改代码以捕获异常,因为异常已包装到一个运行时异常中。以下几个运行时异常扩展了基础异常 XMLMappingException:GenericMarshallingFailureException、 ValidationFailureException、MarshallingFailureException 和 UnmarshallingFailureException。

Spring OXM相关推荐

  1. Spring oxm入门实例

    O/XMapper是什么? Spring3.0的一个新特性是O/XMapper.O/X映射器这个概念并不新鲜,O代表Object,X代表XML.它的目的是在Java对象(几乎总是一个plainoldJ ...

  2. spring+oxm(castor)

    1.所需jar包 castor-core-1.3.1 castor-xml-1.3.1 spring-oxm-4.0.9.RELEASE 2.实体类 package com.xwj.Xstream;i ...

  3. 【Spring】Spring oxm 入门初尝试

    O/X Mapper 是什么? Spring 3.0 的一个新特性是 O/X Mapper.O/X 映射器这个概念并不新鲜,O 代表 Object,X 代表 XML.它的目的是在 Java 对象(几乎 ...

  4. Spring oxm 入门

    oxm : 是spring 3.0的一个新特性 o/xMapping 什么是o/xMapping?             o/x mapping 入门:                     功能 ...

  5. Spring OXM使用体验

    本文转载自http://www.ibm.com/developerworks/cn/xml/x-springXOM/ O/X Mapper 是什么? Spring 3.0 的一个新特性是 O/X Ma ...

  6. Spring 3.0 OXM - Spring 3.0 框架新特性

    什么是OXM? OXM是Object-to-XML-Mapping的缩写,它是一个O/M-mapper,将java对象映射成XML数据,或者将XML数据映射成java对象.它类似 XML-Marsha ...

  7. Spring 学习笔记

    Spring 的 Ioc 容器 所有的组件都是被动的( Passive),所有的组件初始化和调用都由容器负责.组件处在一个容器当中,由容器负责管理. BeanFactory 根据配置文件确定容器中 b ...

  8. Spring MVC与JAX-RS比较与分析

    http://www.infoq.com/cn/articles/springmvc_jsx-rs 过去几年,REST逐渐成为影响Web框架.Web协议与Web应用设计的重要概念.如果你还不了解RES ...

  9. Spring MVC测试框架

    原文链接:http://jinnianshilongnian.iteye.com/blog/2004660 Spring MVC测试框架详解--服务端测试 博客分类: springmvc杂谈 spri ...

最新文章

  1. php yield 递归,递归运行所有yield请求h的废弃输出文件
  2. how mang libraries do we have: 139
  3. Mapreduce,mapper任务无输出以及相关问题解决,日志的正确用法
  4. Asterisk SIP连通测试(X-Lite eyebeam)
  5. pythonfromlxml导入html_Python爬虫日记二:使用lxml解析HTML输出对应值
  6. 四种浏览器对 clientHeight、offsetHeight、scrollHeight、clientWidth、offsetWidth 和 scrollWidth 的解释差异...
  7. ArchLinux pacman 提高俩倍下载速度方法
  8. 如何突破织梦后台发布文章的250字符的内容摘要字数限制
  9. docker 容器安装 vim 编辑器
  10. wps画图工具 如何将网页快速转换为WPS与WORD文档
  11. 厉害!一年两登顶刊的31岁浙大硕导荣获杰青!
  12. GIS | 坐标系统与地图投影
  13. 树莓派3B+ 智能家居(HomeKit)
  14. JavaScript 数组拼接打印_JavaScript 中的“黑话”
  15. 手机号 MD5加密解密工具类
  16. 工信部教育与考试中心-软件测试工程师考试题A卷-答
  17. 玩转华为数据中心交换机系列 | 配置M-LAG维护模式下升级示例
  18. handle java
  19. 深蓝学院视觉slam十四讲第2章作业
  20. java 重载条件

热门文章

  1. Android:week 9总结 Activity生命周期
  2. 如何优化cocos2d-x手游内存
  3. 群狼调研完成株洲某连锁酒店神秘顾客调查项目
  4. tampermonkey油猴+chrome,在浏览器中运行自己写的js脚本
  5. oracle导入dmp卡住,Oracle导入dmp遇到问题解决
  6. PCIE结构拓扑(RC、EP、SWITCH)介绍
  7. ogg格式音乐批量转换为mp3
  8. 生活就是要开开心心的
  9. 一个APP原型制作demo
  10. Java学习笔记项目三:开发团队调度软件(尚硅谷)