2008-12-02 1 views
4

Хотите использовать библиотеку для схемы XML для генерации кода и хотите знать, есть ли у людей предпочтения между XMLBeans и JAXB. Производительность, возможность проверки схемы, использование памяти .. Любые индикаторы помогут ..Какой код лучше всего подходит для генерации кода, XMLBeans или JAXB?

ответ

11

Мое личное предпочтение было бы JAXB. Он имеет более современный подход с использованием аннотаций и многих функций Java 5. XMLBeans, с другой стороны, по-прежнему совместим с Java 1.4 - если это требуется для вас. Некоторые другие мысли, в частности, не такие:

  • С Java 6 на JAXB в комплекте с JDK - так что он доступен из коробки.
  • JAXB работает с аннотациями Java (POJO как) классами - XMLBeans генерируются интерфейсы и никаких классов
  • JAXB позволяет аннотировать классы Java, чтобы использовать их для сортировочного и немаршалинга или вы можете начать с XML-схемой, созданием классов Java и то Fo в не-/сортировочное
  • XMLBeans позволяет только начать с XML-схемой, формируют интерфейсы, а затем использовать это для не-/сортировочной
+0

Также с JAXB является спецификация вы можете выбрать между реализациями JAXB (т.е. Metro, EclipseLink Moxy, и т.д ...) – 2010-07-09 21:06:39

+0

XmlBeans также имеет некоторые проблемы в средах OSGi из-за своей индивидуальной загрузки классов для своей системы SchemaType. – Raman 2011-11-23 01:08:01

1

+1 для ответа Иоахима, и добавить один из моих любимых JAXB 2.0 создает Java-перечисления из ограниченных простых типов.

1

Еще одно преимущество JAXB заключается в том, что, поскольку вы работаете с POJO, вы можете чувствовать себя комфортно, используя их как первоклассные объекты домена и использовать их в своем стеке приложений.

Хотите использовать их в качестве объектов ценности для вашего слоя DAO? Как насчет вашей модели в слое пользовательского интерфейса? Действуй.

Таким образом, у вас меньше слоев отображения и DTO, что означает меньшее количество кода для записи, тестирования и обслуживания.

0

Я предпочитаю XMLBeans, потому что он поставляется с удобным инструментом под названием «inst2xsd», который позволяет вам сгенерировать схему из XML-документа. JAXB может только компилировать схемы, а не генерировать их.

1

XmlObjects также являются объектами домена первого класса и DTO, а также просматривать объекты с легким доступом к xml-информации для эффективного анализа. Обычно бизнес-объекты слишком грубы, поэтому некоторое сопоставление будет иметь значение в любом случае для XmlBeans и JAXB, использующих ассемблеры DTO или . JAXB предлагает сортировочной проверку времени и лучше интегрируется с инфраструктурой, но я думаю, что XMLBeans преимущества сильнее чем преимущества JAXB