Java 中的 XML: 数据绑定,第 1 部分:代码生成方法 — JAXB 及其它
2010-03-25 00:00:00 来源:WEB开发网Castor
用于 XML 数据绑定的 Castor 框架支持映射绑定和生成绑定。在我的上一篇文章中,我讨论了 Castor 映射绑定方法的一些特性。对于本文,我只讨论根据 Schema 生成代码,但在第 2 部分,我将研究这两种方法的性能。请回顾以前的文章,了解有关 Castor 中映射数据绑定工作方式的更多信息。
图 4. Castor 生成的类图(单击进行放大)
在一些细节上,Castor 的代码生成支持不同于 JAXB 方法,但在目的上,两者非常相似。与使用 JAXB 一样,Castor 向应用程序提供类 JavaBean 结构的数据模型。主要差别在于 Castor 避免使用接口,而是喜欢直接使用生成的实现类。除了每个实现类,Castor 还生成描述符(descriptor)类,该类包含绑定和验证代码。由于 Castor 使用具体的类,而不是接口,因此对于构造或修改文档数据结构,它要比 JAXB 略微简单。可以仅仅直接使用相应类的构造函数,而不用通过工厂类。
Castor 的当前 beta 测试版(我写这篇文章时,该版本为 0.9.4.1)不支持在代码生成中进行任何实质的定制,但这种情况有望得到改变。下一 beta 测试发行版预计将支持使用映射文件来控制代码生成的各个方面。起初,在这些方面中,只支持类名和包名,但从更长远来看,计划将添加对用户所提供的实现类的支持。Castor 开发人员还计划在 Castor 中支持 JAXB,可能是通过使用某类兼容性层来实现这一点。
用 Castor 根据 Schema 描述生成代码与用 JAXB 一样方便,使用的基本选项也一样。Castor 确实使用一些附加的命令行参数选项,而且通过属性文件设置,甚至提供了更多选项。这些选项主要用在一些特殊的情形中,但不包括象 JAXB 那样通过 Schema 文档注释提供对类名和验证的控制。
赞助商链接