`
readyman
  • 浏览: 14767 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

开源项目Xstream简介2

阅读更多


XStream主 要应用于以下场合:
数据对象的持久化数据交换配置文件
XStream系 统架构分析

XStream的架构主要由四部分组成:

    Converters(转换器)
  
    当XStream遇 到需要轮换的对象时,它会委派给合适的转换器实现,XStream为通用类型提供了多种转换器实现,包括基本数据类型、String、 Collections、Arrays、null、Date,等等。
  
    XStream提供了缺省的转换器,当需要转换 的数据对象没有匹配的转换器时会使用。是通过反射机制自动完成对对象内所有字段的映射。

    IO(输入/输出)
  
    XStream是 通过接口HierarchicalStramWriter和HierarchialStreamReader从底层XML数据中抽象而来的,上面的接口分 别用于序列化和反序列化操作。
  
    该 特性使得XStream可 以直接使用XML解析类从数据流中读取数据,或者是直接从已经存在的结构中提取数据(比如DOM)。如果XStream所操作的 XML数据已经部分被其它XML解析类处理过了(比如SOAP类的实例),这样就可以避免在我们这一层的再次解析操作。

    Context(上下文引用)

    在XStream序列化或反序列化对象时,它会创建两个类MarshallingContext和 UnmarshallingContext,由它们来处理数据,以及委派合适的转换器。
  
    XStream提 供了三对上下文的缺省实现,它们之间有着细微的差别。缺省值可以通过方法XStream.setMode()来改变,需要传递下面参数 中的一个:
  
    XStream.XPATH_REFERENCES
    (缺省的)通过XPath引用来标识重复的引用。这样产生的XML具有最小的混乱性。
  
    XStream.ID_REFERENCES
    使用ID引用来标识重复的引用。在一些场合,比如使用手写XML时,这样将会更易于操作
  
    XStream.NO_REFERENCES
    这种情况将失去对图形对象的支持,仅把对象看作为树型结构。重复的引用被视作两个不同的对象,循环引用会导致异常产生。相对于上面两种模式,这种模式速度 会更快,占用内存会更
  
分享到:
评论

相关推荐

    xstream-1.4.4-sources.jar

    XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换。将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件。

    XML操作类库XStream.zip

    XStream是一个Java对象和XML相互转换的工具,很好很强大。提供了所有的基础类型、数组、集合等类型直接转换的支持。因此XML常用于数据交换、对象序列化(这种序列化和Java对象的序列化技术有着本质的区别)。Xstream...

    xstream-1.4.9.jar中文-英文对照文档.zip

    中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...

    xstream-1.4.11.jar中文-英文对照文档.zip

    中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...

    xstream-1.4.7.jar中文-英文对照文档.zip

    中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...

    Apotheosis TRPG:为高中项目创建的基于Java的战术RPG。-开源

    基于回合制和基于网格的战术RPG,在Intelligent System的Fire Emblem... 游戏引擎采用的XML解析和序列化方法同时使用了XOM(http://www.xom.nu/)和XStream(http://xstream.codehaus.org/index.html)开源Java XML库。

    毕业设计企业网站源码-s2-052-reproducing:s2-052-再现

    Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架。 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,...

    基于Java的XML解析与反射设计模式.doc

    xstream可以完美转换xml,与以往的解析xml工具dom相比,xstream是一个易用的、开源 的库,使用起来简单、小巧,容易理解,可以轻易的将java对象和xml文档相互转换,而 且可以修改某个特定的属性和节点名称。...

    集成安卓主流优秀第三方组件框架.zip

    WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,...

    scala-stm_2.10.0-M7-0.6.zip

    jetty-nosql-memcached-xstream.zip,jetty的会话管理器impl,用于在memcached上存储带有xstream序列化的会话。memcached session manager for jetty(基于jetty nosql);使用xstream序列化

    org.apache.servicemix.bundles.elasticsearch-1.0.1_1.zip

    gooddata-http-client.zip,能够处理gooddata身份验证的http客户端处理gooddata身份验证的专用java客户端

    Spring.3.x企业应用开发实战(完整版).part2

    14.3 其他常见O/X Mapping开源项目 14.3.1 JAXB 14.3.2 XMLBeans 14.3.3 Castor 14.3.4 JiBX 14.3.5 总结比较 14.4 与Spring OXM整合 14.4.1 Spring OXM概述 14.4.2 整合OXM实现者 14.4.3 如何在Spring中进行配置 ...

    Spring3.x企业应用开发实战(完整版) part1

    14.3 其他常见O/X Mapping开源项目 14.3.1 JAXB 14.3.2 XMLBeans 14.3.3 Castor 14.3.4 JiBX 14.3.5 总结比较 14.4 与Spring OXM整合 14.4.1 Spring OXM概述 14.4.2 整合OXM实现者 14.4.3 如何在Spring中进行配置 ...

    word源码java-acp:ApplicationConstructionPlatform应用构建平台。该项目是用Kotlin和Java语言

    该项目是用Kotlin和Java语言混编封装的脚手架。本人会密切关注业界最新动态,并使用最新技术持续更新优化。 使用该脚手架可快速搭建基于Kotlin或Java语言的普通应用、SpringBoot应用和SpringCloud应用。 从v6.3.0...

    微信公众平台应用开发:方法、技巧与案例.(机械工业.柳峰)

    他还是一位资深的Java软件开发工程师和Android/iOS移动应用开发工程师,活跃于CocoaChina、开源中国、CSDN等社区,CSDN博客专家,在CSDN博客撰写了系列微信公众平台二次开发的教程,深受欢迎并被广泛传播,也因此...

Global site tag (gtag.js) - Google Analytics