Java JAXB Плюсы и минусы и документация
Прошло некоторое время, так как я использовал Яву в гневе, поэтому, пожалуйста, простите меня, если это глупо.
Я только что начал работу над проектом Java, где мы используем JAXB для де-сериализации входящей строки XML (с Jetty Server). Проект использует JAXB только для этой ситуации.
Каковы альтернативы JAXB?
Каковы преимущества/недостатки JAXB для этих альтернатив
Я сделал несколько поисковых запросов и нашел много справочных материалов, но есть ли окончательный источник, который является местом для вопросов JAXB, или люди просто видят, что делают люди и интерпретируют оттуда.
Спасибо.
Ответы
Ответ 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