Question

J'essaie de trouver un moyen simple de mapper des DTO à des entités sans le code de plaque de chaudière. Alors que je pensais à utiliser dozer, il semble nécessiter beaucoup de configuration XML. Quelqu'un a-t-il déjà vu une alternative au bulldozer utilisant un DSL pour configurer le mappage de beans en Java pur?

Idéalement, j'espère trouver un mappeur de haricots inspiré par la façon dont Guice fait les choses.

Était-ce utile?

La solution

Je recherchais également des alternatives.

Voici est une très bonne couverture de différentes options .

Autres conseils

Consultez Orika .

Orika est un framework de mappage Java Bean qui copie de manière récursive (entre autres fonctionnalités) des données d’un objet à un autre. Cela peut être très utile lors du développement d'applications multicouches.

De mon point de vue, la configuration ou le code Java permettant de mapper certaines propriétés spéciales sont toujours nécessaires.

Ici, je veux prendre un DO et DTO par exemple

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 ou Orika peuvent tous les deux faire correspondre automatiquement les propriétés id et name entre DO et DTO sans configuration ni code java car ils portent les mêmes noms et types de propriétés. Mais si vous voulez DO.doName1 & Lt; ---- & Gt; DTO.name1 ou DO.nestedObj.id < --- > DTO.nestedId vous devez effectuer une configuration (via xml ou java) pour indiquer à l'outil de mappage que vous avez l'intention de le faire. Je pense que pour votre cas d'utilisation, Dozer, Orika et ModelMapper sont tous OK. Mais pour moi, je bascule mon projet de dozer à Orika à des fins de performance. Bien qu'Orika ne soit pas aussi mature que dozer, pas aussi intelligente, elle me demande de faire beaucoup de travail supplémentaire pour gérer mes configurations de mappage personnalisées. Si votre projet ne tient pas trop compte de la performance, je vous recommanderai le bouteur, il est si facile à utiliser et prend en charge de nombreuses fonctionnalités avancées. Sinon, si vous achetez de hautes performances, je vous suggère orika.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top