Подтвердить что ты не робот

Java JAXB Плюсы и минусы и документация

Прошло некоторое время, так как я использовал Яву в гневе, поэтому, пожалуйста, простите меня, если это глупо.

Я только что начал работу над проектом Java, где мы используем JAXB для де-сериализации входящей строки XML (с Jetty Server). Проект использует JAXB только для этой ситуации.

Каковы альтернативы JAXB?
Каковы преимущества/недостатки JAXB для этих альтернатив

Я сделал несколько поисковых запросов и нашел много справочных материалов, но есть ли окончательный источник, который является местом для вопросов JAXB, или люди просто видят, что делают люди и интерпретируют оттуда.

Спасибо.

4b9b3361

Ответ 1

Я нашел JAX-B довольно полезным и на самом деле лучше, чем многие из альтернатив, особенно если я начинаю с нуля и генерирую схему из объектов Java, а не объектов Java из схемы.

По моему опыту, по какой-то причине, я нашел хорошую документацию, которую трудно найти, просто из поисков Google. Лучшая электронная документация предоставляется в загрузке JAX-B, где вы также найдете множество примеров. " SOA с использованием веб-служб Java" также имеет хороший обзор.

Что касается альтернатив, то есть:

и, возможно, еще несколько.

Ответ 2

XML Bean приходит на ум (http://xmlbeans.apache.org/)

Один из PROS о JAXB заключается в том, что теперь он поставляется с JDK6. Генерирующий вывод действительно плотный и эффективный. В настоящее время мы конвертируем всю реализацию XML Bean для использования JAXB 2. Большая CONS, которую мы видели, - это отсутствие связанных с XSD операций.

Ответ 3

Я использую JAXB для нескольких проектов. Я думаю, что самое лучшее в этом - это интеграция с новыми технологиями, такими как JAX-WS и JAX-RS (JSR 311, Restful spec).

Если вы обрабатываете входящий XML как String с Jetty, я бы серьезно подумал о просмотре JAX-RS. Он обрабатывает все файлы привязки JAXB для вас, и вы просто работаете с объектом.

Я был очень доволен JAXB через CXF как для стиля REST, так и для веб-сервисов SOAP.

Ответ 4

Я пробовал многие из перечисленных предложений и предпочитаю Simple для всех. Он относительно нов в общем смысле, но зрелый и стабильный, и, по-видимому, он принял во внимание многие жалобы из других XML-фреймворков. Я настоятельно рекомендую прочитать первую страницу и, если возможно, дать ей быстрое доказательство прототипа концепции в вашем проекте.

http://simple.sourceforge.net/

Ответ 5

Посмотрите здесь: http://jcp.org/en/jsr/all для JSR-222. Этот Java Specification Request указывает стандартный (несвободный).

Ответ 6

Для альтернатив JAXB вы можете захотеть проверить XFire (http://xfire.codehaus.org/) или Axis2 (http://ws.apache.org/axis2/). Кажется, что это две популярные альтернативы, и я считаю, что оба они теперь являются жалобами JAX-WS.

Ответ 7

XStream действительно хорошо, если у вас есть объектная модель для xml, который вы пытаетесь проанализировать.

Ответ 8

Другими альтернативами могут быть Castor, JibX, XMLBeans или JDOM.

Ответ 9

На самом деле я использовал Кастора. Это лучше, чем JAXB в случае привязки xml. Он предоставляет функциональные возможности для сопоставления существующего java beans.

Ответ 10

Один большой недостаток JAXB (при использовании аннотаций в объектах передачи) заключается в том, что Android не поддерживает аннотации JAXB (неизвестные классы), и вы не можете их добавить вручную. Также см. Использование JAXB с Google Android