IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

[@Controller][Validator] Injecter un service depuis un validator


Sujet :

Spring Java

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 51
    Par défaut
    non justement cette classe n'est pas la mienne mais celle utilisé par Spring dans spring-modules-validations.jar pour valider des champs d'un POJO
    Sinon j'aurais mis un @Qualifier("nom de la classe")


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    import org.hibernate.annotations.AccessType;
    import org.springmodules.validation.bean.conf.loader.annotation.handler.Email;
    import org.springmodules.validation.bean.conf.loader.annotation.handler.Length;
    import org.springmodules.validation.bean.conf.loader.annotation.handler.Min;
    import org.springmodules.validation.bean.conf.loader.annotation.handler.NotBlank;
    import org.springmodules.validation.bean.conf.loader.annotation.handler.NotNull;
     
    @Entity
    @AccessType("field")
    public class UserMessage {
    	   private static final int NAME_MAX_LENGTH = 5;
     
     
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
    	private long id;
     
    	@NotBlank
    	@Length(min=1, max = NAME_MAX_LENGTH)
    	private String name;

  2. #22
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Par défaut
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @Qualifier("validator") 
    @Autowired 
    private Validator validator;

    ou validator est le nom du bean de type BeanValidator

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <bean id="validator"
    		class="org.springmodules.validation.bean.BeanValidator"
    		p:configurationLoader-ref="configurationLoader" />
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 51
    Par défaut
    Merci Hikage de m'avoir répondu.

    J'ai testé ceci hier soir mais tj la même erreur. En fait comme la classe PersonValidator implémente l'interface Validator, ça pose un problème d'Autowiring pour Spring.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @Configurable("PersonValidator")
    public class PersonValidator implements Validator {
    J'ai cherché sur le Net mais je n'ai pas trouvé de réponse. A priori le problème n'a pas encore été abordé sur les Forums.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    @Controller
    @RequestMapping("/userform.html")
    public class ContactController {
     
    	@Autowired
    	private serviceMessager service;
     
    	@Qualifier("PersonValidator")
    	@Resource
    	private PersonValidator pvalidator;
     
     
    	@Qualifier("validator")
    	@Autowired
    	private Validator validator;
     
    	public void setValidator(Validator validator) {
    		this.validator = validator;
    	}
    Voici la fameuse l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    2009-01-06 13:18:09,008 ERROR [org.springframework.web.context.ContextLoader] - <Context initialization failed>
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'contactController': Injection of resource fields failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [spring.tutorial.web.validator.PersonValidator] is defined: Unsatisfied dependency of type [class spring.tutorial.web.validator.PersonValidator]: expected at least 1 matching bean
    	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessAfterInstantiation(CommonAnnotationBeanPostProcessor.java:262)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:978)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
    	at java.security.AccessController.doPrivileged(Native Method)

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/09/2011, 17h21
  2. controle de saisie d'une adresse email valide
    Par nassing dans le forum jQuery
    Réponses: 1
    Dernier message: 26/05/2011, 14h52
  3. [AC-2007] Valider une liste multiple depuis un bouton du Ruban
    Par curt dans le forum IHM
    Réponses: 1
    Dernier message: 05/06/2009, 23h38
  4. URL web service est il valide?
    Par Mr_Welby dans le forum Services Web
    Réponses: 1
    Dernier message: 05/09/2007, 18h08
  5. [validation]Erreur format texte depuis BDD
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/02/2006, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo