每次看到好的博客我就想好好的整理起來,便於後面本身複習,同時也共享給網絡上的夥伴們!html
博客地址:spring
springMVC整合Jaxb二、xStream: http://www.cnblogs.com/hoojo/archive/2011/04/29/2032571.htmljson
springMVC整合castor、jibx、Jackson: http://www.cnblogs.com/hoojo/archive/2011/04/29/2032609.html網絡
一、前言:app
SpringMVC中整合了JSON、XML的視圖,能夠經過這些視圖完成Java對象到XML、JSON的轉換。轉換XML提供了MarshallingView,開發者只需用注入相應的marshaller、和屬性配置,便可自動完成Java的Model對象中的數據到XML的編組。框架
二、技術: 工具
涉及到Jackson、xStream、Jibx、Jaxb二、castorr等技術,若是你對這些技術還不是很瞭解。建議閱讀:http://www.cnblogs.com/NF-CHH/archive/2013/02/24/JSON-XML.html。這裏只對涉及到的技術進行總結與概括。spa
2.一、Jaxb2編組XML[採用的視圖:MarshallingView]xml
Jaxb2能夠完成XML和Java的相互轉換,在WebService中用得較多。htm
總結,若是你想將一些Java的基本類型轉換成XML。那麼你得建立一個帶getter、setter方法的JavaBean。而後在Bean的getter方法進行相應的Annotation註解便可完成轉 換。
2.二、用xStream轉換XML[採用的視圖:MarshallingView]
xStream能夠輕易的將Java對象轉換成XML、JSON,Spring整合利用xStream轉換xml。
總結,xStream相對jaxb2要簡單些。並且相對比較靈活,能夠輕易的轉換Java普通類型。
2.三、用Castor轉換XML[採用的視圖:MarshallingView]
castor能夠經過一個mapping.xml文件對即將轉換的Java對象進行描述,而後能夠將Java對象按照描述的狀況輸出XML內容。
總結,使用castor能夠轉換普通不通過封裝的Java類型,可是Map對象則須要進行簡單對象封裝,而後在mapping中進行描述才行。Castor和其餘的框架不一樣的是,可 以在xml配置中進行轉換對象的描述規則。
2.四、用Jibx轉換XML[採用的視圖:MarshallingView]
jibx能夠完成Java對象到xml的轉換,可是它須要bind.xml的配置以及多個工具類生成Jibx_BindList信息,相對與上面三種來講這種稍微複雜些。
總結,jibx應用比較廣,在WebService中都有使用jibx。Jibx速度比較快,就是在開始部署使用的時候須要寫bind.xml文件。不過官方提供了工具類,這個也不麻煩。
2.五、Jackson轉換Java對象[採用的視圖:MappingJacksonJsonView]
jackson有專門的視圖MappingJacksonJsonView,只需用配置這個視圖就能夠完成轉換json。
總結,spring對jackson提供了專門的視圖,整合起來也比較方便。並且jackson也比較簡單易用。