4

想要使用 XML 模式库来生成代码,并想知道人们是否偏好 XMLBeans 和 JAXB。性能、架构验证能力、内存使用情况……任何指标都会有所帮助……

4

5 回答 5

11

我个人的偏好是 JAXB。它采用更现代的方法使用注解和许多 Java 5 特性。另一方面,XMLBeans 仍然与 Java 1.4 兼容——如果您需要的话。其他一些没有特别的想法是:

  • 从 Java 6 开始,JAXB 与 JDK 捆绑在一起 - 所以它是开箱即用的。
  • JAXB 与带注释的 Java(类似 POJO)类一起工作 - XMLBeans 生成接口并且没有类
  • JAXB 允许注释 Java 类以使用它们进行编组和解组,或者您可以从 XML Schema 开始,生成 Java 类,然后进入 un-/marshalling
  • XMLBeans 只允许从 XML Schema 开始,生成接口,然后将其用于 un-/marshalling
于 2008-12-02T20:37:22.987 回答
1

JAXB 的另一个好处是,由于您使用的是 POJO,因此您可以将它们用作一流的域对象,并在整个应用程序堆栈中使用它们。

想将它们用作 DAO 层的值对象吗?作为 UI 层中的模型怎么样?去吧。

这样,您的映射层和 DTO 就更少了,这意味着要编写、测试和维护的代码更少。

于 2008-12-08T17:04:07.953 回答
1

对于 Joachim 的回答 +1,并添加我最喜欢的功能之一,JAXB 2.0 从受限的简单类型创建 Java 枚举。

于 2008-12-02T22:57:07.463 回答
1

XmlObjects 也是一流的域和 DTO 对象以及视图对象,可轻松访问 xml 信息集以进行高效解析。通常,业务对象的粒度太粗,所以无论如何都必须使用 DTO 组装器或映射框架为 XmlBeans 和 JAXB 实现一些映射。JAXB 提供编组时间验证,并且更好地与基础设施集成,但我认为 XmlBeans 的优势比 JAXB 的优势强

于 2011-02-11T18:25:34.973 回答
0

我更喜欢 XMLBeans,因为它带有一个名为“inst2xsd”的方便工具,它允许您从 XML 文档生成模式。JAXB 只能编译模式,不能生成它们。

于 2010-02-26T17:01:06.553 回答