J'essaie de convertir DO en DTO en utilisant java et en recherchant un outil automatisé avant de commencer à écrire le mien. Je voulais juste savoir s'il y avait un outil gratuit disponible pour le même.
J'essaie de convertir DO en DTO en utilisant java et en recherchant un outil automatisé avant de commencer à écrire le mien. Je voulais juste savoir s'il y avait un outil gratuit disponible pour le même.
Réponses:
Vous pouvez essayer Dozer .
Dozer est un mappeur Java Bean vers Java Bean qui copie récursivement les données d'un objet à un autre. En règle générale, ces Java Beans seront de différents types complexes.
Dozer prend en charge le mappage de propriétés simple, le mappage de types complexes, le mappage bidirectionnel, le mappage implicite-explicite, ainsi que le mappage récursif. Cela inclut le mappage des attributs de collection qui doivent également être mappés au niveau de l'élément.
Il y a quelques bibliothèques par là:
Commons-BeanUtils : ConvertUtils -> Méthodes utilitaires pour convertir les valeurs scalaires String en objets de la classe spécifiée, tableaux de chaînes en tableaux de la classe spécifiée.
Commons-Lang : ArrayUtils -> Opérations sur les tableaux, les tableaux primitifs (comme int []) et les tableaux d'encapsuleurs primitifs (comme Integer []).
Framework Spring : Spring a un excellent support pour PropertyEditors, qui peut également être utilisé pour transformer des objets vers / depuis des chaînes.
Dozer : Dozer est un mappeur Java Bean puissant mais simple qui copie récursivement des données d'un objet à un autre. En règle générale, ces Java Beans seront de différents types complexes.
ModelMapper : ModelMapper est un cadre de mappage d'objets intelligent qui mappe automatiquement les objets les uns aux autres. Il utilise une approche conventionnelle pour mapper des objets tout en fournissant une API sécurisée de refactorisation simple pour gérer des cas d'utilisation spécifiques.
MapStruct : MapStruct est un générateur de code au moment de la compilation pour les mappages de bean, résultant en un code de mappage rapide (sans utilisation de réflexion ou similaire), sans dépendance et sans danger pour les types lors de l'exécution.
Orika : Orika utilise la génération de code octet pour créer des mappeurs rapides avec une surcharge minimale.
Selma : générateur de code à la compilation pour les mappages
JMapper : génération de mappeur de bean en utilisant Annotation, XML ou API (semble mort, dernière mise à jour il y a 2 ans)
Smooks : La cartouche Smooks JavaBean vous permet de créer et de remplir des objets Java à partir de vos données de message (c'est-à-dire de lier des données à) (suggéré par superfilin dans les commentaires). (Plus en développement actif)
Commons-Convert : Commons-Convert vise à fournir une bibliothèque unique dédiée à la tâche de convertir un objet d'un type en un autre. La première étape se concentrera sur les conversions objet en chaîne et chaîne en objet. (semble mort, dernière mise à jour 2010)
Transmorph : Transmorph est une bibliothèque java gratuite utilisée pour convertir un objet Java d'un type en un objet d'un autre type (avec une autre signature, éventuellement paramétrée). (semble mort, dernière mise à jour 2013)
EZMorph : EZMorph est une bibliothèque java simple pour transformer un objet en un autre objet. Il prend en charge les transformations pour les primitives et les objets, pour les tableaux multidimensionnels et les transformations avec DynaBeans (semble mort, dernière mise à jour 2008)
Morph : Morph est un framework Java qui facilite l'interopérabilité interne d'une application. Au fur et à mesure que l'information circule dans une application, elle subit de multiples transformations. Morph fournit un moyen standard d'implémenter ces transformations. (semble mort, dernière mise à jour 2008)
Lorentz : Lorentz est un cadre générique de conversion objet à objet. Il fournit une API simple pour convertir un objet Java d'un type en un objet d'un autre type. (semble mort)
OTOM : Avec OTOM, vous pouvez copier toutes les données d'un objet vers un autre objet. Les possibilités sont infinies. Bienvenue à "Autumn". (semble mort)
Un autre est Orika - https://github.com/orika-mapper/orika
Orika est un framework de mappage Java Bean qui copie récursivement (entre autres capacités) des données d'un objet à un autre. Il peut être très utile lors du développement d'applications multicouches.
Orika se concentre sur l'automatisation autant que possible, tout en offrant une personnalisation via la configuration et l'extension si nécessaire.
Orika permet au développeur de:
- Cartographie d'objets complexes et profondément structurés
- "Aplatir" ou "étendre" les objets en mappant les propriétés imbriquées aux propriétés de niveau supérieur, et vice versa
- Créez des mappeurs à la volée et appliquez des personnalisations pour contrôler tout ou partie du mappage
- Créez des convertisseurs pour un contrôle complet sur le mappage d'un ensemble spécifique d'objets n'importe où dans le graphique d'objet - par type, ou même par nom de propriété spécifique
- Gérer les proxys ou les objets améliorés (comme ceux d'Hibernate ou les différents frameworks fictifs)
- Appliquer un mappage bidirectionnel avec une configuration
- Mapper aux instances d'une classe concrète appropriée pour une classe ou une interface abstraite cible
- Gérer les mappages inversés
- Gérez des conventions complexes au-delà des spécifications JavaBean.
Orika utilise la génération de code octet pour créer des mappeurs rapides avec une surcharge minimale.
ModelMapper est une autre bibliothèque à découvrir. La conception de ModelMapper est différente des autres bibliothèques en ce qu'elle:
Consultez le site ModelMapper pour plus d'informations:
Utilisez les beanutils Apache commons:
static void copyProperties(Object dest, Object orig)
-Copiez les valeurs de propriété du bean d'origine au bean de destination pour tous les cas où les noms de propriété sont les mêmes.
Il existe un autre moteur / framework de cartographie Java Nomin: http://nomin.sourceforge.net .
Je vous suggère d'essayer JMapper Framework .
Il s'agit d'un mappeur Java bean vers Java bean, vous permettant d'effectuer le passage de données dynamiquement avec des annotations et / ou XML.
Avec JMapper, vous pouvez:
Je suis heureux d'ajouter Moo en option, bien que je sois clairement partisan: http://geoffreywiseman.github.com/Moo/
Il est très facile à utiliser pour les cas simples, raisonnablement capable pour les cas plus complexes, bien qu'il y ait encore des domaines où j'imagine l'améliorer pour encore plus de complexité.
Vous pouvez également essayer un cadre de mappage basé sur Dozer, mais avec une déclaration de mappage Excel. Ils ont quelques outils et fonctionnalités supplémentaires intéressantes. Vérifiez à http://openl-tablets.sf.net/mapper
new ObjectMapper().convertValue(...)
. Jackson prend également en charge les annotations et les mix-annotations, donc je trouve que c'est une très bonne option.