Pergunta

Eu quero adicionar validações para um Java Bean. Por exemplo, eu quero fazer o seguinte:

@MaxLength(50)
@RequiredField
public void setEmployeeName(String name){
   .....
}

Eu sei que eu posso escrever código que obtém as validações para um método específico chamando method.getDeclaredAnnotation depois de todos os valores de feijão foram definidas. Eu gostaria de evitar escrever este código

Existe alguma coisa em Java6 que dá validações padrão através de anotações? Preciso AspectJ para invocar essas anotações?

Agradecemos antecipadamente.

Foi útil?

Solução

Você pode usar Bean Validation Framework. Aqui é breve resumo http://relation.to/Bloggers/BeanValidationSneakPeekPartI

Outras dicas

dar uma olhada JSR 303 . O RI (Implementação de Referência) é aqui , com também um bom tutorial . E não, você não precisa AspectJ.

A única maneira que você vai ser capaz de fazer isso é através de reflexões e uma validação personalizada utilidade / interceptor / proxy. Foram propostos JSR 303 e JSR 305 para introduzir uma funcionalidade semelhante, mas nada como este existe.

Um dos problemas você vai correr em é que essas anotações precisam ser tratados em algum tipo de nível de quadro, ou no mínimo, interceptado antes de algum tipo de ação invocado. Os dois mais senso comum, formas força bruta de fazer isso seria feito quer através da criação de um utilitário, ou através da validação de pré-invoke em um manipulador de invocação (proxy).

A realidade é que a menos que este é construído em Spring, Struts, Guice, o próprio Java, etc., você está apenas criando sobrecarga desnecessária e você é melhor fora de verificação de limites de validação sobre a procura.

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