Question

Je veux ajouter des validations à un bean Java. Par exemple, je souhaite procéder comme suit:

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

Je sais que je peux écrire du code qui obtient les validations d'une méthode spécifique en appelant method.getDeclaredAnnotation une fois que toutes les valeurs du bean ont été définies. Je voudrais éviter d'écrire ce code

Y at-il quelque chose dans Java6 qui donne des validations standard via des annotations? Ai-je besoin d'aspectj pour appeler ces annotations?

merci d'avance.

Était-ce utile?

La solution

Vous pouvez utiliser Bean Validation Framework. Voici un bref aperçu http://relation.to/Bloggers/BeanValidationSneakPeekPartI

Autres conseils

consultez JSR 303 . Le RI (Reference Implementation) est ici , avec également un bon tutoriel . Et non, vous n'avez pas besoin d'AspectJ.

Pour ce faire, vous ne pouvez utiliser que des réflexions et un utilitaire de validation / intercepteur / proxy personnalisé. JSR 303 et JSR 305 ont été proposées pour introduire des fonctionnalités similaires, mais rien de tel n'existe.

L’un des problèmes que vous rencontrerez est que ces annotations doivent être gérées au niveau du framework, ou au minimum, interceptées avant une action invoquée. Pour ce faire, les deux méthodes les plus simples et les plus brutales consistent à créer un utilitaire ou à valider le pré-appel dans un gestionnaire d’appel (proxy).

En réalité, à moins que cela ne soit intégré à Spring, Struts, Guice, Java lui-même, etc., vous créez simplement une surcharge inutile et il est préférable de vérifier les limites de validation à la demande.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top