Adicionando validações para Java Beans via Anotações
-
05-07-2019 - |
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.
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.