Domanda

Sto cercando di trovare un modo semplice per mappare i DTO alle entità senza il codice della piastra della caldaia. Mentre stavo pensando di usare dozer sembra richiedere molta configurazione XML. Qualcuno ha visto un'alternativa dozer che utilizza un DSL per configurare il bean mapping in Java puro?

Idealmente, spero di trovare un bean mapping ispirato al modo in cui Guice fa le cose.

È stato utile?

Soluzione

Stavo cercando anche delle alternative.

Qui è un'ottima copertura di diverse opzioni .

Altri suggerimenti

Guarda Orika .

Orika è un framework di mapping Java Bean che copia in modo ricorsivo (tra le altre funzionalità) i dati da un oggetto a un altro. Può essere molto utile durante lo sviluppo di applicazioni a più livelli.

Dal mio punto di vista, sono sempre necessari la configurazione o il codice java per mappare alcune proprietà speciali.

Qui voglio prendere un DO e DTO per esempio

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
}

Per Dozer o Orika entrambi possono abbinare automaticamente la proprietà id e name tra DO e DTO senza alcuna configurazione o codice java perché hanno gli stessi nomi e tipi di proprietà. Ma se vuoi DO.doName1 & Lt; ---- & Gt; DTO.name1 o DO.nestedObj.id < --- > DTO.nestedId devi fare una configurazione (via xml o java) per dire allo strumento di mappatura che intendi farlo. Penso che per il tuo caso d'uso, Dozer, Orika e ModelMapper siano tutti a posto. Ma per me sto cambiando il mio progetto da bulldozer a Orika a scopo di performance. Anche se Orika non è così matura come dozer, non è così intelligente e mi richiede di fare molto lavoro aggiuntivo per mantenere le mie configurazioni di mappatura personalizzate. Se il tuo progetto non si preoccupa troppo delle prestazioni ti consiglierò dozer, è così facile da usare e supportare così tante funzionalità avanzate. Altrimenti se acquisti alte prestazioni, ti consiglio orika.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top