Frage

Ich versuche, DTO mit Java zu konvertieren DO und für automatisiertes Tool suchen, bevor mein eigenes Schreiben beginnen. Ich wollte nur wissen, ob es eine kostenlose Tool zur Verfügung für das gleiche.

War es hilfreich?

Lösung

Sie könnten versuchen, Dozer .

  

Dozer ist ein Java Bean zu Java Bean   Mapper, die rekursiv kopiert Daten   von einem Objekt zu einem anderen. typischerweise   Diese Java Beans werden von unterschiedlich sein   komplexe Typen.

     

Dozer unterstützt die einfache Eigenschaft   Kartierung, komplexer Typ mapping,   bidirektionales mapping,   implizite-explizite Abbildung sowie   rekursive Zuordnung. Das beinhaltet   Zuordnungssammlung Attribute,   auch müssen Mapping am Element   Ebene.

Andere Tipps

Es gibt einige Bibliotheken um dort:

  • Commons-BeanUtils : ConvertUtils -> Utility Methoden zur Umwandlung von String skalare Werte Objekte der angegebenen Klasse, String-Arrays Arrays der angegebenen Klasse.

  • Commons-Lang : ArrayUtils -> Operationen auf Arrays, primitive Arrays (wie int []) und primitiver Wrapper-Arrays (wie Integer []).

  • Spring-Framework : Frühling hat eine ausgezeichnete Unterstützung für PropertyEditors, die auch Objekte verwendet werden können, um Transformation / von Strings.

  • Dozer : Dozer ist eine leistungsstarke und dennoch einfache Java Bean zu Java Bean Mapper, dass rekursiv kopiert Daten von einem Objekt zum anderen. Typischerweise werden diese Java Beans von verschiedenen komplexen Typen sein.

  • ModelMapper : ModelMapper ist ein intelligentes Objekt-Mapping-Framework, das automatisch Objekte zueinander abbildet. Es verwendet eine Konvention basierten Ansatz Objekte abzubilden, während eine einfache Refactoring sichere API für den Umgang mit spezifischen Anwendungsfälle bereitstellt.

  • MapStruct : MapStruct ist ein Kompilierung-Code-Generator für Bean-Mappings, in schnell resultierenden (keine Verwendung die Reflexion oder ähnliches), abhängigkeits weniger und typsichere Mapping-Code zur Laufzeit.

  • Orika : Orika verwendet Byte Code-Generierung schnell Mapper mit minimalem Aufwand zu erstellen.

  • Selma : Compiler-Code-Generator für Mappings

  • JMapper : Bean Mapper Generation mit Annotation, XML oder API

  • Smooks : Die Smooks JavaBean Cartridge ermöglicht es Ihnen, Java-Objekte zu erstellen, und füllen Sie von Ihrem Nachrichtendaten (dh binden Daten) (vorgeschlagen von superfilin in den Kommentaren). (nicht mehr aktiv weiter Entwicklung)

  • Commons-Convert : Commons-Convert zielt darauf ab, eine zu schaffen, einzelne Bibliothek der Aufgabe gewidmet zum anderen ein Objekt eines Typs umzuwandeln. Die erste Phase konzentriert sich auf Objekt in String und String Konvertierungen Objekt. (Scheint tot, letzte Aktualisierung 2010)

  • Transmorph : Transmorph ist eine freie Java-Bibliothek verwendet, um ein Java-Objekt zu konvertieren einen Typ in ein Objekt eines anderen Typs (mit einer anderen Signatur, möglicherweise parametriert). (scheint tot, letzte Änderung 2013)

  • EZMorph : EZMorph ist einfache Java-Bibliothek für ein Objekt in einer anderen verwandeln Objekt. Es unterstützt Transformationen für Primitiven und Objekte, für mehrdimensionale Arrays und Transformationen mit DynaBeans (scheint tot, letzte Aktualisierung 2008)

  • Morph : Morph ist ein Java-Framework, das die interne Interoperabilität einer Anwendung erleichtert . Da sich die Informationen über eine Anwendung fließt, erfährt es mehrere Transformationen. Morph bietet eine standardisierte Möglichkeit, diese Transformationen zu implementieren. (scheint tot, letzte Aktualisierung 2008)

  • Lorentz : Lorentz ist ein generisches objekt- zu-object Umwandlung Rahmen. Es bietet eine einfache API, um ein Java-Objekte eines Typs in ein Objekt eines anderen Typs. (scheint tot)

  • konvertieren
  • Otom : Mit Otom, können Sie alle Daten von jedem Objekt zu einem anderen Objekt kopieren. Die Möglichkeiten sind endlos. Willkommen bei "Herbst". (scheint tot)

Ein weiterer ist Orika - https://github.com/orika-mapper/orika

  

Orika ist eine Java-Bean-Mapping-Framework, das rekursiv Kopien (unter anderen Fähigkeiten) Daten von einem Objekt zum anderen. Es kann sehr nützlich sein, wenn mehrschichtige Anwendungen zu entwickeln.

     

Orika konzentriert sich so weit wie möglich auf die Automatisierung, während Anpassung durch Konfiguration Bereitstellung und Erweiterung, wo nötig.

     

Orika ermöglicht es dem Entwickler:

     
      
  • Karte komplex und tief strukturierte Objekte
  •   
  • "abflachen" oder "Öffnen" Objekte durch ein Abbilden verschachtelt Eigenschaften Top-Level-Eigenschaften, und vice versa
  •   
  • Erstellen Mapper on-the-fly, und Anpassungen gelten einige oder alle der Abbildung steuern
  •   
  • Erstellen Sie Konverter für vollständige Kontrolle über die Zuordnung eines spezifischen Satzes von Objekten überall in der Objektgraph - nach Typ, oder auch durch spezifische Eigenschaftsnamen
  •   
  • Handle Proxies oder erweiterten Objekte (wie die von Hibernate, oder die verschiedenen mock Frameworks)
  •   
  • Tragen Sie bidirektionale Mapping mit einer Konfiguration
  •   
  • Karte zu Instanzen einer geeigneten konkreten Klasse für ein Ziel abstrakte Klasse oder Schnittstelle
  •   
  • Griff Reverse-Mappings
  •   
  • Griff komplexe Konventionen über JavaBean-Spezifikationen.
  •   
     

Orika verwendet Byte Code-Generierung schnell Mapper mit minimalem Aufwand zu erstellen.

ModelMapper ist eine andere Bibliothek einen Besuch wert. ModelMapper Design unterscheidet sich von anderen Bibliotheken, dass sie:

  • Karten automatisch Objektmodelle durch eine intelligente Anpassung Quell- und Zieleigenschaften
  • Stellt eine Refactoring sichere Mapping-API, die eher eigentlichen Code abzubilden Felder und Methoden verwendet als Strings mit
  • Nutzt Konvention basierte Konfiguration für die einfache Handhabung von benutzerdefinierten Szenarien

Überprüfen Sie die ModelMapper site für weitere Informationen:

http://modelmapper.org

Verwenden Sie Apache commons Beanutils:

  

static void copyProperties(Object dest, Object orig)   -Copy Eigenschaftswerte vom Ursprung Bohne zum Ziel Bohne für alle   Fälle, in denen die Eigenschaftsnamen die sind   gleich.

http://commons.apache.org/proper/commons-beanutils/

Es gibt eine weitere Java-Mapping-Maschine / Rahmen Nomin. http://nomin.sourceforge.net

Ich schlage vor, Sie versuchen, JMapper Rahmen .

Es ist ein Java Bean zu Java Bean Mapper ermöglicht es Ihnen, den Durchgang von Daten dynamisch mit Anmerkungen und / oder XML auszuführen.

Mit JMapper können Sie:

  • Erstellen und Zielobjekte
  • bereichern
  • Tragen Sie eine bestimmte Logik der Abbildung
  • Automatische Verwaltung der XML-Datei
  • Implementieren Sie die 1 bis N und N bis 1 Beziehungen
  • Implementieren explizite Konvertierungen
  • Anwenden geerbt Konfigurationen

Ich bin glücklich Moo als Option hinzufügen, obwohl klar auf sie bin ich voreingenommen: http://geoffreywiseman.github.com/Moo/

Es ist sehr einfach für einfache Fälle verwenden, vernünftige Lage für komplexere Fälle, obwohl es noch einige Bereiche, in denen ich mir vorstellen kann es noch weiter Komplexität zu erhöhen.

Sie können auch Mapping-Framework versuchen basierend auf Dozer, aber mit Excel-Mapping-Deklaration. Sie haben einige Werkzeuge und weiteres cooles Feature bekommen. Überprüfen Sie unter http://openl-tablets.sf.net/mapper

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top