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 :

Injection spring par autowired en cascade


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Par défaut Injection spring par autowired en cascade
    Bonjour à tous!

    J'ai un soucis avec l'autowired de spring, qui a un effet un peu en cascade.

    Je vous explique:

    J'ai un premier projet, avec service et dao. Au sein de mon service, j'ai une instance du dao, annotée en autowired.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    @Service("myService")
    @Transactional(readOnly = false)
    public class MonService {
     
        @Autowired
        protected MonDao monDao;
    }
    Jusque là, tout va tres bien, ça tourne bien.

    Mon soucis arrive quand j'ai un autre projet qui a besoin d'appeler ce service.
    Donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @Service("autreprojet")
    public class ServiceAutreProjet {
     
    	@Autowired
    	protected MonService monService;
    }
    Avec ça, j'ai un plantage de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error creating bean with name 'monService': Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected org.monpremier.projet.dao.monDao org.monpremier.projet.dao.monDaoImplementation; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [org.monpremier.projet.dao.monDao] is defined: Unsatisfied dependency of type [interface org.monpremier.projet.dao.monDao]: expected at least 1 matching bean
    Ce que je ne comprends pas, c'est que vient faire le dao dans mon second service :/

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Quand ServiceAutreProjet est créé, il faut injecter MonService et donc initialiser ce dernier et pour ce faire, il faut injecter MonDao qui n'est pas présent dans le deuxième projet.

    Il faut donc que tu rajoutes une implémentation de MonDao dans le deuxième projet.

    Montres déja ton fichier de context.

Discussions similaires

  1. Tutoriel Tapestry5, Spring [..] par Baptiste Meurant
    Par msiramy dans le forum Contribuez
    Réponses: 5
    Dernier message: 06/04/2012, 17h12
  2. [GWT+SPRING] Injection spring dans remote service
    Par Alwin dans le forum GWT et Vaadin
    Réponses: 6
    Dernier message: 06/04/2009, 15h40
  3. [Web Services] [Remoting][CXF] Injection Spring IOC
    Par Ylias dans le forum Spring
    Réponses: 8
    Dernier message: 05/01/2009, 10h34
  4. [Débutant] Spring par la pratique
    Par Stew dans le forum Spring
    Réponses: 2
    Dernier message: 26/09/2006, 09h43

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