您的位置:首页 > 其它

关于JAXB的一些理解

2007-02-09 22:50 274 查看
都是些写个自己的一些废话或者心得,不是什么技术文章,也完全没什么资本给别人扯技术..

前几天因为要和同学一起做论坛,前台希望用AJAX,所以要用到许多XML的转换.由于牵扯许多转换,所以当时希望找个框架来完成,由于要先晚上个模型,所以必须拿JAXP,DOM先写(我不习惯SAX模型),后来发现还是JDOM好用,不过.NET的XML库来的很爽些.后来开始研究JAXB这个东西.开始看的是1.0,因为SUN的官网文档提供的是1.0,只支持从schema到java的影射,必须用工具xjc.感觉虽然很灵活,但是太麻烦了,于是开始自己构思一个转换的方式,开始的构思是用设计模式里的一些思想,直接构建成一个不需要工具的转换类库,但是问题是xs的类型与JAVA不完全相符合,结果就是一个界于jaxb和bean冷藏的一个不伦不类的中间产物,不灵活.后来找到了jaxb2.0的文档,真不知道SUN怎么搞的,官方都不更新的,郁闷.2.0支持了java到schema的影射,用注释类型写bean,可以完全抛开schema构思你的xml文件,最后由schemagen工具生成schema,而且可以由ant来带工,一切都是相当轻松,当然nb写schema插件也很好用.这样,jaxb几乎解决了所有的映射问题.而且还提供了schema的验证,简直就是profect,哈哈!又把.net比不见了~嘿嘿!

说了一堆废话,貌似没啥有用的,不过还有一些对JAXB结构的理解.首先JAXB有一个明确的目标,就是要让JAVA影射的XML文件是绝对通用的,追求的是灵活.而我做的架枸却没有这样的目标,没有明确的目标,再灵活和方便这两个相背离的方向前犹豫,最后产生的就是不伦不类的东西.再一个,JAXB做到了机制和策略的分离,可以使XML的规范不断扩大的同时,机制不用改变,既代码不变,而策略改变,舍得既支持最新标准,而又有办法支持以前的版本,因为他使用了于代码分离的文件去指定机制运行的策略,这也是我完全没有考虑到的.

再一天时间差不多就可以再开始研究OSGI了,也不知道要多久,没概念啊,老师没给个明确的方向,他到底是要实现OSGI,还是要做类似OSGI的框架,还是要用OSGI,还是要OSGI的思想...而且最近觉得IBM的equinox的性能完全不如nb framwork.看了再说吧,没概念没有发言权,不过面向服务确实能简化好多好多好多...思想太牛B了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: