DTO и создание карттора из объектов домена

У меня есть много объектов домена Java, которые мне нужно преобразовать в DTO.

Пожалуйста, не начинайте с объекта анти-шаблона, объекты домена - это то, что они из-за длинной истории, и я не могу их изменить (или не слишком много, см. ниже).

Итак, мы, конечно же, прошли все это вручную. Я огляделся, и бульдозер кажется рамкой выбора для отображения DTO.

Но... мне бы очень хотелось: аннотировать классы и поля, которые я хочу в DTO, и запустить инструмент, который будет генерировать DTO и mappers.

Это звучит слишком необоснованно?

Есть ли такой инструмент уже существует?

Ответы

Ответ 1

Рассмотрите возможность проверки ModelMapper.

Он отличается от Dozer и других тем, что он минимизирует объем конфигурации, необходимый для интеллектуального сопоставления объектных моделей. В случае необходимости конфигурации ModelMapper предлагает безопасный API для рефакторинга, который использует фактический код для сопоставления свойств и значений, а не с использованием ссылок на строки или XML.

Зайдите на сайт ModelMapper для получения дополнительной информации:

http://modelmapper.org

Ответ 2

Вам может быть интересно MapStruct, генератор кода для JavaBeans-mappers. Вам нужно будет внедрить исходную модель (например, объекты вашего домена) и целевую модель (например, DTO), а MapStruct генерирует безопасный тип и быстрый код для сопоставления между этими моделями (отказ от ответственности: я являюсь автором этого проекта).

Ответ 4

Этот поток немного устарел, но если кто-то все еще пытается это сделать, http://www.dtonator.org/ - лучший вариант, который у меня есть найденных до сих пор. Это единственный инструмент, который я смог найти, который на самом деле СОЗДАЕТ файлы DTO и не привязан к определенной структуре (Spring, Seam и т.д.) Или IDE.