架构到代码生成,XMLBeans或JAXB哪个更好?

时间:2008-12-02 19:35:51

标签: java xml xsd

想要使用XML架构的库来生成代码,并想知道人们是否在XMLBeans和JAXB之间有偏好。性能,架构验证功能,内存使用..任何指标都有帮助..

5 个答案:

答案 0 :(得分:11)

我个人的偏好是JAXB。它采用更现代的方法,使用注释和许多Java 5功能。另一方面,XMLBeans仍然符合Java 1.4标准 - 如果这是您需要的话。其他一些没有特别想法的想法是:

  • JAXB上的Java 6与JDK捆绑在一起 - 所以它可以直接使用。
  • JAXB使用带注释的Java(POJO类)类 - XMLBeans生成的接口,没有类
  • JAXB允许注释Java类以使用它们进行编组和解组,或者您可以从XML Schema开始,生成Java类然后进入un / / marshalling
  • XMLBeans只允许从XML Schema开始,生成接口然后用它来进行un / / marshalling

答案 1 :(得分:1)

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

答案 2 :(得分:1)

JAXB的另一个好处是,既然您正在使用POJO,您可以放心地将它们用作一流的域对象,并在整个应用程序堆栈中使用它们。

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

这样,您拥有更少的映射层和DTO,这意味着更少的代码可以编写,测试和维护。

答案 3 :(得分:1)

XmlObjects也是第一类域和DTO对象 查看对象,可以轻松访问xml信息集,以便进行有效的解析。通常情况下, 业务对象太粗糙,因此必须进行一些映射 无论如何都要使用DTO汇编程序或者为XmlBeans和JAXB实现 映射框架。 JAXB提供编组时间验证并且更好 与基础设施集成,但我认为XmlBeans的优势更强 比JAXB的优势

答案 4 :(得分:0)

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