Pergunta

Eu estou tentando converter DO para DTO usando java e procurando ferramenta automatizada antes de começar a escrever a minha própria. Eu só queria saber se existe alguma ferramenta gratuita disponível para o mesmo.

Foi útil?

Solução

Você poderia tentar Dozer .

Dozer é um feijão de Java para Java Bean mapeador que os dados de copia recursivamente a partir de um objecto para outro. Tipicamente, estes Java Beans será de diferente tipos complexos.

Dozer suporta propriedade simples mapeamento, tipo de mapeamento complexo, mapeamento bi-direccional, mapeamento implícito explícito, bem como mapeamento recursiva. Isso inclui atributos de recolha que mapeamento também precisa de mapeamento no elemento nível.

Outras dicas

Existem algumas bibliotecas em torno de lá:

  • Commons-BeanUtils : ConvertUtils -> métodos de utilitário para a conversão de valores escalares String para objectos da Classe matrizes, texto especificado matrizes da classe especificada.

  • Commons-Lang : ArrayUtils -> Operações em matrizes, matrizes primitivas (como int []) e matrizes de invólucro primitivos (como Integer []).

  • Spring Framework : Primavera tem um excelente suporte para PropertyEditors, que também pode ser usado para transformar objetos para / para strings.

  • Dozer : Dozer é um poderoso, mas simples Java Bean de Java Bean mapeador que copia de forma recursiva de dados a partir de um objecto para outro. Normalmente, esses Java Beans vai ser de diferentes tipos complexos.

  • ModelMapper : ModelMapper é um framework de mapeamento objeto inteligente que mapeia automaticamente objetos uns aos outros. Ele usa uma abordagem baseada convenção para mapear objetos, proporcionando uma simples refatoração API segura para lidar com casos de uso específico.

  • MapStruct : MapStruct é um gerador de código em tempo de compilação para mapeamentos de feijão, resultando em rápido (sem uso de reflexão ou similar), a dependência-less e tipo-safe código de mapeamento em tempo de execução.

  • Orika : Orika usa a geração de código byte para criar mapeadores rápidos com sobrecarga mínima.

  • Selma : de tempo de compilação de código-gerador para mapeamentos

  • JMapper : Feijão geração mapeador usando anotações, XML ou API

  • Smooks : O Smooks JavaBean Cartridge permite criar e preencher objetos Java a partir de sua dados da mensagem (ou seja vincular dados a) (sugeridas por superfilin nos comentários). (não mais sob ativo desenvolvimento)

  • Commons-Convert : objetivos Commons-converter para fornecer uma biblioteca única dedicada à tarefa de converter um objeto de um tipo para outro. A primeira fase incidirá sobre Objeto para String e String para conversões de objeto. (Parece morto, última actualização de 2010)

  • Transmorph : Transmorph é uma biblioteca java livre usado para converter um objeto Java de um tipo em um objeto de outro tipo (com outra assinatura, possivelmente parametrizados). (parece morto, última atualização 2013)

  • EZMorph : EZMorph é uma biblioteca Java simples para transformar um objeto para outro Objeto. Ele suporta transformações para primitivos e objetos, para arrays multidimensionais e transformações com DynaBeans (parece morto, última actualização 2008)

  • Morph : Morph é um framework Java que facilita a interoperabilidade interna de uma aplicação . Como a informação flui através de um aplicativo, ele sofre várias transformações. Morph fornece um modo padrão para implementar essas transformações. (parece morto, última actualização de 2008)

  • Lorentz : Lorentz é um object- genérico paraquadro de conversão -object. Ele fornece uma API simples para converter um Java objetos de um tipo em um objeto de outro tipo. (parece morto)

  • OTOM : Com OTOM, você pode copiar todos os dados a partir de qualquer objeto para qualquer outro objeto. As possibilidades são infinitas. Bem-vindo ao "Outono". (parece morto)

Outra é Orika - https://github.com/orika-mapper/orika

Orika é um framework de mapeamento Java Bean que copia recursivamente (entre outras capacidades) dados a partir de um objeto para outro. Pode ser muito útil ao desenvolver aplicações multi-camadas.

Orika concentra-se em automatizar tanto quanto possível, oferecendo personalização através de configuração e extensão, quando necessário.

Orika permite ao desenvolvedor:

  • Mapa complexas e profundamente estruturadas objetos
  • "achatar" ou "expandir" objectos por propriedades de mapeamento aninhada para propriedades de nível superior, e vice-versa
  • Criar mapeadores on-the-fly, e aplicar personalizações para controlar alguns ou todos o mapeamento
  • Criar conversores para o controle completo sobre o mapeamento de um conjunto específico de objetos em qualquer lugar do gráfico de objeto - por tipo, ou mesmo pelo nome da propriedade específica
  • proxies manipular ou objetos avançados (como os de Hibernate, ou as várias estruturas simuladas)
  • Aplicar mapeamento bidirecional com uma configuração
  • Mapa para as instâncias de uma classe concreta apropriado para uma classe abstrata alvo ou interface
  • manipulador mapeamentos reversos
  • Handle convenções complexas além especificações JavaBean.

Orika usa a geração de código byte para criar mapeadores rápido com sobrecarga mínima.

ModelMapper é outra pena biblioteca conferir. O projeto de ModelMapper é diferente de outras bibliotecas na medida em que:

  • mapeia automaticamente modelos de objetos combinando inteligentemente propriedades de origem e destino
  • Fornece uma refatoração API mapeamento seguro que usa código real para mapear campos e métodos em vez de usar cordas
  • Utiliza configuração baseada convenção para simples manipulação de cenários personalizados

Confira o site ModelMapper para mais informações:

http://modelmapper.org

Use Apache Commons beanutils:

static void copyProperties(Object dest, Object orig) valores de propriedade -copy do feijão origem para o bean de destino para todos casos em que os nomes de propriedade são a mesmo.

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

Há uma mais Java mapeamento do motor / quadro Nomin:. http://nomin.sourceforge.net

Eu sugiro que você tente JMapper Framework .

É um feijão de Java para Java mapeador de feijão, permite realizar a passagem de dados dinamicamente com anotações e / ou XML.

Com JMapper você pode:

  • Criar e objetos alvo Enrich
  • Aplique uma lógica específica para o mapeamento
  • Gerenciar automaticamente o arquivo XML
  • Implementar a 1 de N e N a 1 relações
  • Implementar conversões explícitas
  • Aplicar configurações herdadas

Estou feliz para adicionar Moo como uma opção, embora claramente Estou inclinado para ele: http://geoffreywiseman.github.com/Moo/

É muito fácil de usar para casos simples, capaz razoável para casos mais complexos, embora ainda existam algumas áreas onde eu posso imaginar a reforçar, mesmo para outras complexidades.

Você também pode tentar framework de mapeamento baseado em Dozer, mas com a declaração mapeamento Excel. Eles têm algumas ferramentas e recursos legais adicionais. Verifique em http://openl-tablets.sf.net/mapper

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top