JiBX

        JiBX是一款非常优秀的XML数据绑定框架。它提供灵活的绑定映射文件实现数据对象与XML文件之间的转换;并不需要你修改既有的Java类。另外,它的转换效率是目前很多开源项目都无法比拟的。

 

        XML已经成为目前程序开发配置的重要组成部分了,而可以用来操作XML文件的开源项目也逐渐成长起来,比如说流行的:Digester、XStream、Castor、JDOM、dom4j、xalan等等,当然也少不了专门为Java语言设计的xml数据绑定框架JiBX。它的主要有转换效率高、配置绑定文件简单、不需要操作xpath文件、不需要写属性的get/set方法、对象属性名与xml文件element名不要相同等优点。

 

        JiBX工作机制

        使用JiBX绑定xml文档与java对象需要分两步走,第一步是绑定xml文件,也就是映射xml文件与java对象之间的对应关系;第二步是在运行时,实现xml文件与java实例之间的互相转换;这时,它已经与绑定文件无关了,可以说是完全脱耦了。在运行程序之前,需要先配置绑定文件并进行绑定,在绑定过程中它将会动态的修改你程序中相应的class文件,主要是生成对应对象实例的方法和添加被绑定标记的属性JiBX_bindingList等。它使用的技术是BCEL(Byte Code Engineering Library)。

 

        为何JiBX如此高效

        在说明这个之前,先给大家介绍数据绑定转换中两个通用概念:Unmarshal(数据分解)和Marshal(数据编排);从字面意思也很容易理解,Unmarshal是将xml文件转换成java对象,而Marshal则是将java对象编排成规范的xml文件。JiBX在Unmarshal/Marshal上如此高效,这要归功于使用了XPP技术,而不是使用基于树型(tree-based)方式,将整个文档写入内存,然后进行操作的DOM(Document Object Model);也不是使用基于事件流(event stream)的SAX(Simple API for Xml)。XPP使用的是不断增加的数据流处理方式,同时允许在解析xml文件时中断。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值