Frage

Ich versuche, eine einfache Möglichkeit, um herauszufinden, DTOs an Einrichtungen ohne die Kesselblech Code abzubilden. Während ich mit Planierraupe dachte scheint es eine Menge von XML-Konfiguration erforderlich ist. Hat jemand eine Planierraupe Alternative gesehen, die einen DSL nutzt das Bean-Mapping in reinem Java zu konfigurieren?

Im Idealfall Ich hoffe, eine Bohne Mapper zu finden, die Guice Dinge tut durch die Art und Weise inspiriert ist.

War es hilfreich?

Lösung

Ich war auf der Suche nach Alternativen als gut.

Hier eine sehr gute Abdeckung der verschiedenen Optionen .

Andere Tipps

Lesen Sie 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.

Aus meiner Sicht ist die Konfiguration oder Java-Code einige spezielle Eigenschaften abzubilden werden immer gebraucht.

Hier möchte ich eine DO und DTO zum Beispiel nehmen

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
}

Für Dozer oder Orika sie beide können ohne Konfiguration oder Java-Code-ID und Namen Eigenschaft zwischen DO und DTO automatisch überein, da sie mit den gleichen Eigenschaftsnamen und Typen. Aber wenn Sie DO.doName1 wollen <----> DTO.name1 oder DO.nestedObj.id <---> DTO.nestedId Sie brauchen eine Konfiguration zu machen (via XML oder Java), um das Mapping-Tool zu sagen, Sie sind beabsichtigen, dies zu tun. Ich denke, für Ihren Anwendungsfall, Dozer, Orika und ModelMapper alle in Ordnung sind. Aber für mich Ich schalte mein Projekt von Planierraupe zu Orika für Performance Zweck. Obwohl Orika ist nicht so ausgereift wie Planierraupe, nicht so Intelligenz und erfordert mir viel zusätzliche Arbeit zu tun, um meine angepasste Zuordnungskonfigurationen zu verwalten. Wenn Ihr Projekt auch nicht über die Leistung zu kümmern werde ich empfehlen Ihnen, Dozer, es ist so einfach zu bedienen und so viele erweiterte Funktionen zu unterstützen. Andernfalls, wenn Sie hohe Leistung kaufen, empfehle ich Ihnen Orika.

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