1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/kancy666-java-xml-object

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.md

JAXB (Java Architecture for XML Binding) — это стандарт в отрасли, технология, которая позволяет создавать Java-классы на основе XML Schema. В этом процессе JAXB также предоставляет метод обратного создания дерева объектов Java из экземпляра XML-документа и может повторно записывать содержимое дерева объектов Java в экземпляр XML-документа. С другой стороны, JAXB предлагает быстрый и простой способ привязки XML-схемы к представлению в Java, что позволяет разработчикам на Java удобно интегрировать XML-данные и функции обработки в приложениях на Java.

Важные классы и интерфейсы JAXB в JDK:

  • JAXBContext — класс приложения, используемый для управления информацией о привязке XML/Java.
  • Marshaller — интерфейс, который сериализует объекты Java в данные XML.
  • Unmarshaller — интерфейс, который десериализует данные XML в объекты Java.

Важныe аннотации JAXB в JDK:

  • @XmlType — сопоставляет Java-класс или тип перечисления с типом XML-схемы.
  • @XmlAccessorType(XmlAccessType.FIELD) — управляет сериализацией полей или свойств. FIELD указывает, что JAXB автоматически привязывает каждое нестатическое (static) и непереходное (помеченное @XmlTransient) поле в классе Java к XML. Другие значения включают XmlAccessType.PROPERTY и XmlAccessType.NONE.
  • @XmlAccessorOrder — управляет порядком атрибутов и полей в классе JAXB.
  • @XmlJavaTypeAdapter — использует настраиваемый адаптер (расширяет абстрактный класс XmlAdapter и переопределяет методы marshal() и unmarshal()) для сериализации класса Java в XML.
  • @XmlElementWrapper — создаёт элемент-обёртку для массива или коллекции (содержащей несколько элементов), который называется обёрткой.
  • @XmlRootElement — сопоставляет класс Java или тип перечисления с элементом XML.
  • @XmlElement — сопоставляет атрибут или свойство класса Java с одноимённым элементом XML.
  • @XmlAttribute — сопоставляет атрибут класса Java с одноимённым атрибутом XML.

Аннотация @XmlElement может использоваться с параметром nillable, чтобы сделать узел допускающим пустые значения. Когда значение узла равно null, отображается пустой узел; по умолчанию узел просто удаляется.

Среди этих аннотаций наиболее часто используются @XMLType, @XmlAccessorType и @XmlRootElement.

Причины использования JAXB:

  1. В проектах иногда бывает много XML-файлов, но если их можно обрабатывать через объекты, это может уменьшить количество проблем с операциями и лучше соответствовать стилю кодирования программистов.
  2. В проектах иногда встречается множество данных в сущностях классов на одной странице, и некоторые данные могут быть необязательными. Можно использовать DTO для написания этих сущностей, но иногда необходимо предварительно сохранить эти DTO, а не хранить их в базе данных. В таком случае есть два подхода: сохранение в памяти или на жёстком диске. Тогда можно преобразовать объекты Java в файлы XML для хранения или преобразовать их в строки для сохранения в памяти.
  3. Рассмотрим сценарий, в котором страница состоит из множества модулей, образующих единое целое. Когда пользователь выполняет операции над несколькими модулями, но данные после операции не являются окончательными, необходимо сначала сохранить текущие данные на странице (Done), а затем перейти на другую страницу для выполнения других операций. После этого пользователь возвращается на исходную страницу, где предыдущие данные должны сохраняться, чтобы пользователь мог легко просмотреть их. Однако, поскольку модулей много, сохранение данных в базе данных заранее будет пустой тратой ресурсов, так как это не окончательный результат. Только когда пользователь хочет сохранить окончательные данные (Save), они сохраняются в базе данных. На этом этапе требуется большое количество временных данных, и хорошим решением является использование XML для сохранения текущих данных на странице.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Использование Java JDK: проект-учебник по взаимному преобразованию XML в объект и объекта в XML. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/kancy666-java-xml-object.git
git@api.gitlife.ru:oschina-mirror/kancy666-java-xml-object.git
oschina-mirror
kancy666-java-xml-object
kancy666-java-xml-object
master