SpringMVC 中整合之JSON、XML
每次看到好的博客我就想好好的整理起来,便于后面自己复习,同时也共享给网络上的伙伴们!
博客地址:
springMVC整合Jaxb2、xStream: http://www.cnblogs.com/hoojo/archive/2011/04/29/2032571.html
springMVC整合castor、jibx、Jackson: http://www.cnblogs.com/hoojo/archive/2011/04/29/2032609.html
1、前言:
SpringMVC中整合了JSON、XML的视图,可以通过这些视图完成Java对象到XML、JSON的转换。转换XML提供了MarshallingView,开发者只需用注入相应的marshaller、和属性配置,即可自动完成Java的Model对象中的数据到XML的编组。
2、技术:
涉及到Jackson、xStream、Jibx、Jaxb2、castorr等技术,如果你对这些技术还不是很了解。建议阅读:http://www.cnblogs.com/NF-CHH/archive/2013/02/24/JSON-XML.html。这里只对涉及到的技术进行总结与归纳。
2.1、Jaxb2编组XML[采用的视图:MarshallingView]
Jaxb2可以完成XML和Java的相互转换,在WebService中用得较多。
总结,如果你想将一些Java的基本类型转换成XML。那么你得创建一个带getter、setter方法的JavaBean。然后在Bean的getter方法进行相应的Annotation注解即可完成转 换。
2.2、用xStream转换XML[采用的视图:MarshallingView]
xStream可以轻易的将Java对象转换成XML、JSON,Spring整合利用xStream转换xml。
总结,xStream相对jaxb2要简单些。而且相对比较灵活,可以轻易的转换Java普通类型。
2.3、用Castor转换XML[采用的视图:MarshallingView]
castor可以通过一个mapping.xml文件对即将转换的Java对象进行描述,然后可以将Java对象按照描述的情况输出XML内容。
总结,使用castor可以转换普通不经过封装的Java类型,但是Map对象则需要进行简单对象封装,然后在mapping中进行描述才行。Castor和其他的框架不同的是,可 以在xml配置中进行转换对象的描述规则。
2.4、用Jibx转换XML[采用的视图:MarshallingView]
jibx可以完成Java对象到xml的转换,但是它需要bind.xml的配置以及多个工具类生成Jibx_BindList信息,相对与上面三种来说这种稍微复杂些。
总结,jibx应用比较广,在WebService中都有使用jibx。Jibx速度比较快,就是在开始部署使用的时候需要写bind.xml文件。不过官方提供了工具类,这个也不麻烦。
2.5、Jackson转换Java对象[采用的视图:MappingJacksonJsonView]
jackson有专门的视图MappingJacksonJsonView,只需用配置这个视图就可以完成转换json。
总结,spring对jackson提供了专门的视图,整合起来也比较方便。而且jackson也比较简单易用。
最新文章
- 【转】外部应用和drools-wb6.1集成解决方案
- 最简实例说明wait、notify、notifyAll的使用方法
- dango foreign key 指定被引用模型的字段
- 细说Javascript之null、undefined和NaN
- Robotium Table控件的处理
- 快速认识ELK中的L - Logstash
- MATLAB图像处理函数汇总(二)
- 网站开发常用jQuery插件总结(三)拖拽插件gridster
- 入门指引 - PHP手册笔记
- ICE
- poj3308 Paratroopers --- 最小点权覆盖-&;gt;最小割
- 微信小程序前置课程:flex布局(二)
- Hbase压力测试
- SQL函数学习(三):convert()函数
- 通过一步步创建sharded cluster来认识mongodb
- json对象、构造原型、组合继承
- Vim常用的命令
- [分享]Active-HDL 9.2 安装
- linux JAVA_HOME和 java -version不匹配
- 【Think in java读书笔记】序列化
热门文章
- 多个不同的表合并到一个datatable中,repeater在绑定datatable
- Picasso 加载图片到RelativeLayout之解决方案
- [Django] html 前端页面jQuery、图片等路径加载问题
- CreateFile函数详解(确实很详细)
- 修改Windows XP的桌面路径
- CxImage的使用
- SDUT OJ 2783 小P寻宝记
- 软交所--微软将对IE浏览器进行关键性安全更新
- Codeforces 475C Kamal-ol-molk&;#39;s Painting 模拟
- dropDownList之";请选择";,同时设置默认选项