Альтернатива бульдозеру для картирования бобов? [закрыто]

StackOverflow https://stackoverflow.com/questions/1800743

  •  05-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь найти простой способ сопоставления DTO с объектами без стандартного кода. Пока я думал об использовании dozer, мне кажется, что требуется много настроек xml. Кто-нибудь видел альтернативу dozer, которая использует DSL для настройки отображения bean-компонентов в чистой Java?

В идеале я надеюсь найти бобового картографа, вдохновленного тем, как Гисе делает вещи.

Это было полезно?

Решение

Я тоже искал альтернативы.

Здесь очень хорошее освещение различных вариантов .

Другие советы

Посмотрите на Orika .

Orika - это среда отображения Java Bean, которая рекурсивно копирует (среди прочих возможностей) данные из одного объекта в другой. Это может быть очень полезно при разработке многослойных приложений.

С моей точки зрения, конфигурация или код Java для сопоставления некоторых специальных свойств всегда необходимы.

Здесь я хочу взять DO и DTO например

DO:{
    id: "id",
    name:"name",
    doName1: "doName1",
    nestedObj: {
        id: "nestedObjId",
        name: "nestedObjName"
    }
}

DTO{
    id: "",
    name: "",
    name1: ""   // for mapping doName1 in DO.
    nestedId: "", //for DT.nestObj.id
    nestedName: "", //for DT.nestObj.name
}

Для Dozer или Orika они оба могут автоматически сопоставлять свойства идентификатора и имени между DO и DTO без какой-либо конфигурации или кода Java, поскольку они имеют одинаковые имена и типы свойств. Но если вы хотите DO.doName1 & Lt; ---- & Gt; DTO.name1 или DO.nestedObj.id < --- > DTO.nestedId вам нужно выполнить некоторую настройку (через xml или java), чтобы сообщить инструменту отображения, что вы собираетесь это сделать. Я думаю, что для вашего случая использования Dozer, Orika и ModelMapper все в порядке. Но для меня я переключаю свой проект с бульдозера на Орику с целью повышения производительности. Хотя Орика не настолько зрелый, как бульдозер, он не настолько умен и требует, чтобы я проделал большую дополнительную работу, чтобы поддерживать свои индивидуальные конфигурации картографирования. Если ваш проект не слишком заботится о производительности, я порекомендую вам dozer, он & # 8217; он так прост в использовании и поддерживает множество дополнительных функций. В противном случае, если вы покупаете высокую производительность, я предлагаю вам orika.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top