java - Generación DTO y mapeador de objetos de dominio
code-generation mapping (4)
Considere la posibilidad de retirar ModelMapper .
Se diferencia de Dozer y otros en que minimiza la cantidad de configuración necesaria para mapear de manera inteligente los modelos de objetos. Donde se necesita configuración, ModelMapper ofrece una API segura de refactorización que usa código real para asignar propiedades y valores en lugar de usar referencias de cadena o XML.
Visite el sitio de ModelMapper para más información:
Tengo muchos objetos de dominio Java que necesito transformar en DTO.
Por favor, no empieces con lo anti-patrón, los objetos de dominio son lo que son debido a una larga historia, y no puedo modificarlos (o no demasiado, ver más abajo).
Así que, por supuesto, hemos pasado la edad de hacer todo eso manualmente. He mirado a mi alrededor y Dozer parece ser el marco de elección para el mapeo DTO.
Pero ... lo que realmente me gustaría es esto: anotar las clases y los campos que quiero en DTO, y ejecutar una herramienta que genere los DTO y los mapeadores.
¿Eso suena demasiado irrazonable?
¿Existe tal herramienta ya?
Es posible que esté interesado en MapStruct , un generador de código para los MapStruct de JavaBeans. Tendría que implementar el modelo de origen (por ejemplo, los objetos de su dominio) y el modelo de destino (por ejemplo, DTO), y MapStruct genera un código rápido y seguro para el tipo para la asignación entre estos modelos (exención de responsabilidad: soy el autor de este proyecto).
Este hilo es un poco viejo, pero si alguien todavía está intentando hacerlo, http://www.dtonator.org/ es la mejor opción que he encontrado hasta ahora. Es la única herramienta que he podido encontrar que en realidad CREA los archivos DTO y no está vinculado a un marco específico (Spring, Seam, etc.) o IDE.
Use GeDA - mucho más rápido y más flexible que todos los mapeadores mencionados. http://inspire-software.com/confluence/display/GeDA/GeDA+-+Generic+DTO+Assembler
No hay muchos ejemplos en la wiki pero los junits (en la fuente) están llenos de ellos.