Génération DTO et mapper à partir d'objets de domaine
j'ai beaucoup d'objets java domain que je dois transformer en DTOs.
s'il vous Plaît, ne commencez pas avec l'anti-modèle de chose, les Objets du Domaine sont ce qu'ils sont en raison d'une longue histoire, et je ne peux pas les modifier (ou pas trop, voir ci-dessous).
Donc, bien sûr, nous avons passé l'âge de faire tout ce que manuellement. J'ai regardé autour de moi, et dozer semble le cadre de choix pour la cartographie DTO.
Mais... ce que j'aimerais vraiment c'est ceci: annoter les cours et champs que je veux dans DTO, et exécuter un outil qui générerait les DTO et les mappers.
est-ce que sembler trop déraisonnable?
un tel outil existe-t-il déjà?
4 réponses
Envisager de vérifier ModelMapper.
il diffère de Dozer et autres en ce qu'il minimise la quantité de configuration nécessaire pour cartographier intelligemment les modèles d'objets. Lorsque la configuration est nécessaire, ModelMapper propose une API de reconfiguration sécurisée qui utilise du code réel pour cartographier les propriétés et les valeurs plutôt que d'utiliser des références de chaîne ou XML.
consultez le site de ModelMapper pour en savoir plus info:
Vous pourriez être intéressé par MapStruct, un générateur de code pour JavaBeans mappers. Vous devez mettre en œuvre le modèle source (par exemple vos objets de domaine) et le modèle cible (par exemple DTOs), et MapStruct génère du code de type sûr et rapide pour la correspondance entre ces modèles (disclaimer: je suis l'auteur de ce projet).
utilisez GeDA-beaucoup plus rapide et plus flexible que tous les mappers mentionnés. http://inspire-software.com/confluence/display/GeDA/GeDA+-+Generic+DTO+Assembler
il n'y a pas beaucoup d'exemples sur le wiki mais les junits (dans la source) en sont pleins
Ce thread est un peu vieux, mais si quelqu'un est encore en train de le faire, http://www.dtonator.org/ est la meilleure option que j'ai trouvé jusqu'à présent. C'est le seul outil que j'ai pu trouver qui crée réellement les fichiers DTO et n'est pas lié à un framework spécifique (ressort, couture, etc.) ou IDE.