Привязка Jakarta XML - Jakarta XML Binding
Репозиторий | |
---|---|
Написано в | Ява |
Интернет сайт | проекты |
Привязка Jakarta XML (JAXB; бывшая архитектура Java для привязки XML) является программная среда это позволяет Jakarta EE разработчикам для отображения Java классы к XML представления. JAXB предоставляет две основные функции: возможность маршал Ява объекты в XML и наоборот, т.е. демаршировать XML обратно в объекты Java. Другими словами, JAXB позволяет сохранять и извлекать данные в памяти в любом формате XML без необходимости реализации определенного набора процедур загрузки и сохранения XML для структуры классов программы. Это похоже на xsd.exe
и XmlSerializer
в .NET Framework.
JAXB особенно полезен, когда спецификация сложна и меняется. В таком случае регулярная замена Схема XML определения, чтобы поддерживать их синхронизацию с определениями Java, могут занимать много времени и быть подверженными ошибкам.
JAXB - один из API на платформе Jakarta EE (ранее Java EE), часть Пакет разработки веб-служб Java (JWSDP), и одна из основ WSIT. Это также было частью Java SE платформа (в версии Java SE 6-10). Начиная с Java SE 11, JAXB был удален. Подробнее см. JEP 320.
JAXB 1.0 был разработан под Процесс сообщества Java как JSR 31.[1] В 2006 году JAXB 2.0 был выпущен под JSR 222, а Maintenance Release 2 - в декабре 2009 года.[2] Эталонные реализации для этих спецификаций были доступны под CDDL лицензия с открытым исходным кодом в java.net.
использование
Инструмент "xjc"можно использовать для преобразования Схема XML и другие типы файлов схемы (начиная с Java 1.6, РЕЛАКС НГ, XML DTD, и WSDL поддерживаются экспериментально) в представления классов.[3] Классы размечены с помощью аннотации из javax.xml.bind.annotation. * пространство имен, например, @XmlRootElement и @XmlElement. Последовательности списков XML представлены атрибутами типа java.util.List. Маршаллеры и немаршаллеры создаются с помощью экземпляра JAXBContext.
Кроме того, JAXB включает "схимаген"инструмент, который, по сути, может выполнять обратное"xjc", создавая схему XML из набора аннотированных классов.
Привязки типов данных по умолчанию
В таблице ниже перечислены сопоставления Схема XML (XSD) в типы данных Java в JAXB.[4]
Тип схемы XML | Тип данных Java |
---|---|
xsd: строка | java.lang.String |
xsd: целое число | java.math.BigInteger |
xsd: positiveInteger | java.math.BigInteger |
xsd: int | int |
xsd: long | длинный |
xsd: короткий | короткая |
xsd: десятичный | java.math.BigDecimal |
xsd: float | плавать |
xsd: двойной | двойной |
xsd: логическое | логический |
xsd: byte | байт |
xsd: QName | javax.xml.namespace.QName |
xsd: dateTime | javax.xml.datatype.XMLGregorianCalendar |
xsd: base64Binary | байт[] |
xsd: hexBinary | байт[] |
xsd: unsignedInt | длинный |
xsd: unsignedShort | int |
xsd: unsignedByte | короткая |
xsd: unsignedLong | java.math.BigDecimal |
xsd: время | javax.xml.datatype.XMLGregorianCalendar |
xsd: date | javax.xml.datatype.XMLGregorianCalendar |
xsd: g | javax.xml.datatype.XMLGregorianCalendar |
xsd: anySimpleType [5] | java.lang.Object |
xsd: anySimpleType [6] | java.lang.String |
xsd: продолжительность | javax.xml.datatype.Duration |
xsd: ОБОЗНАЧЕНИЕ | javax.xml.namespace.QName |
Версии
- Java SE 9: JAXB 2.3.0 [7] (в модуле
java.xml.bind
; этот модуль отмечен как устаревший [8]) - Java SE 8: JAXB 2.2.8 [9]
- Java SE 7: JAXB 2.2.3 (JSR 222, отладочный выпуск 2) [10]
- Java SE 6: JAXB 2.0 (JSR 222) [11]
Смотрите также
- Связывание данных XML
- JiBX - один из самых быстрых связывателей XML-данных [12][13]
- XMLBeans - аналогичная и дополнительная технология к JAXB из Фонд программного обеспечения Apache
- TopLink - объект отношения и возражение против XML картограф из Oracle который поддерживает JAXB 1.0
- EclipseLink MOXy - Открытый исходный код реализация JAXB и сервисов отображения объектного XML под Фонд Затмения
- Liquid XML Studio - Коммерческий инструмент для генерации кода привязки данных XML
- Простая сериализация XML - Альтернатива JAXB, позволяющая быстро разрабатывать системы конфигурации и связи XML.
Рекомендации
- ^ «JSR: запросы спецификации Java. JSR 31: спецификация привязки данных XML». Получено 2011-02-15.
- ^ «JSR: запросы спецификации Java. JSR 222: архитектура Java для привязки XML (JAXB) 2.0». Получено 2011-02-15.
- ^ «xjc - Архитектура Java для привязки XML». Получено 2011-02-15.
- ^ «Использование привязки данных JAXB: сопоставление стандартных типов данных».
- ^ за
xsd: element
этого типа - ^ за
xsd: атрибут
этого типа - ^ "Какой JAXB RI включен в какой JDK?".
- ^ "Устаревший модуль java.xml.bind".
- ^ "Jaxb 2.2.8 (JDK 8)". Получено 2015-03-01.
- ^ «Java SE 7: усовершенствования технологии Java XML». Получено 2012-03-21.
- ^ «Java SE 6: функции и улучшения». Получено 2012-03-21.
- ^ Деннис Сосноски. «Технологии XML и Java: Связывание данных, Часть 2: Производительность». Получено 2011-02-15.
- ^ «Структуры привязки XML в контексте сервис-ориентированной архитектуры». Получено 2011-02-15.
внешняя ссылка
- Официальный веб-сайт Ссылка на реализацию проекта Стеклянная рыба
- предыдущая домашняя страница JAXB
- исходная домашняя страница JAXB
- Учебник JAXB Вольфганг Лаун
- JSR 222 (JAXB 2.0)
- JSR 31 (JAXB 1.0)
- Учебное пособие по Java EE 5 - Связывание схемы XML и классов Java Глава JAXB в Руководстве по Java EE 5
- Мастер JAXB
- Учебники JAXB