Boas Práticas STRUTS 2

Bom Dia Pessoal,

Não sei se esse é o lugar certo mas gostaria de abrir uma discussão sobre boas práticas do STRUTS2,
navegando pelo fórum vi alguns exemplos e percebi que cada um desenvolve de uma forma e não se
segue um padrão para os métodos ou utilizações, então gostaria de levantar algumas questões para
que os mais experientes possam ajudar quem está começando(eu) e quer desenvolver com qualidade de
código.

  • Qual usar, Annotations ou XML puro ??
  • Como gravar objetos com relacionamentos? Fazer com que o STRUTS monte o objeto ou usar os setters na Action manualmente antes de gravar no banco?
  • Padronização de nomes das Actions, é importante? Como usar?
  • Usar vários métodos (Gravar, excluir…) em uma única Action (Ex: ClienteAction) ou distribuir esses métodos em vários arquivos (Ex: GravaClienteAction, ExcluiClienteAction… ) ?

Valeu pessoal!

Olá,

bem, IMO…

Se for criar um projeto novo sugiro usar o quanto puder das Convenções e quando precisar de algo mais específico, usar Anotações. XML só o struts.xml para algumas configurações gerais do projeto mas não para mapeamentos dos casos de uso.

Isso depende. Se receber dados de formulários, ele chegam praticamente prontos na Action. Mas sempre terá que usar os “setters” nas Actions, senão nada chega nela.

Se for usar o CoC, elas devem estar em qualquer sub-pasta “action” ou “actions”. Não há padrão de nome, mas se sua classe for “EmitirRelatorioFinal.java” ou “EmitirRelatorioFinalAction.java” o CoC do Struts2 vai mapeá-la automaticamente para a mesma URL: “emitir-relatorio-final”.

Eu prefiro a segunda abordagem por seguir o conceito de classe com Alta Coesão. Prefiro muitas classes pequenas do que poucas porém grandes.

Abraços.

jyoshiriro:

Excelente resposta.

Obrigado!

Caso alguem tenha mais questões sobre boas práticas, postem aí…