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 :

Bean Factory renvoie null


Sujet :

Spring Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 38
    Points
    38
    Par défaut Bean Factory renvoie null
    Bonjour à tous,

    Je dispose d'un DAOFacade qui doit me renvoyé, selon le cas, différents Bean DAO.

    Cependant, dans mon cas, mon DAO Facade est instancié à null selon le cas. En effet, lorsque que je cherche a afficher le contenu d'une base, le bean DAOFacade est appelé correctement.

    Cependant, lorsque je cherche a faire une mise à jour de cette base, ce même Bean est appellé, mais est initialisé a null.

    Quelqu'un sait d'ou peut venir le probleme?

    Merci

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Fais voir ton code java ainsi que le xml ou tu definis tes beans associes a ce DAO facade

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 38
    Points
    38
    Par défaut
    La facade de suppression de l'événement:

    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
     
    public class SupprEvenementFacadeImpl extends AbstractBaseFacade implements ISupprEvenementFacade {
     
    	public void supprEvenement(String id) throws DaoException {
    		System.out.println("gra");
    		IDAOFacades DaoFacade = getDaoFacades();
    		System.out.println("grigragrou " + DaoFacade);
     
     
    		ISupprEvenementDAO supprEvtDAO = DaoFacade.getSupprEvenementDAO();
    		System.out.println("youpiplop");
     
     
    		supprEvtDAO.supprEvenement(id);
     
    	}
     
    }
    l'abstract base facade en question:

    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
     
    public abstract class AbstractBaseFacade {
     
    	protected IDAOFacades daoFacades;
     
     
    	public IDAOFacades getDaoFacades() {
    		System.out.println("DAO Facade"+ daoFacades);
    		return daoFacades;
    	}
     
    	public void setDaoFacades(IDAOFacades daoFacades) {
    		this.daoFacades = daoFacades;
    	}
     
     
    }

    le business-context.xml:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <beans>
     
     
     
     
    <bean id="businessFacade" class="com.projet.editique.business.impl.BusinessFacadeImpl">
    	<property name="evenementFacade">
    		<ref bean="evenementFacade"/>
    	</property>
    	<property name="supprEvenementFacade">
    		<ref bean="supprEvenementFacade"/>
    	</property>
    </bean>
     
     
    <bean id="evenementFacade" class="com.projet.editique.business.impl.EvenementFacadeImpl">
    	<property name="daoFacades">
    		<ref bean="daoFacades"/>
    	</property>
    </bean>
     
    <bean id="supprEvenementFacade" class="com.projet.editique.business.impl.SupprEvenementFacadeImpl">
    	<property name="daoFacades">
    		<ref bean="daoFacades"/>
    	</property>
    </bean>
     
     
     
    </beans>

  4. #4
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Et dans ce que tu m'as montre dans quel cas c'est null et dans quel cas ca ne l'est pas ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 38
    Points
    38
    Par défaut
    Avec le SupprEvenementFacadeImpl, DaoFacade est toujours null, c'est lorsque j'utilise une autre classe qui appelle la meme méthode de la classe mère que j'obtiens autre chose que null.

  6. #6
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Fais voir un cas ou ca marche alors.
    avec com.projet.editique.business.impl.EvenementFacadeImpl si j'ai bien compris par exemple.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 38
    Points
    38
    Par défaut
    Voila la classe EvenementFacadeImpl (qui elle, obtient bien une DaoFacade)


    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
    22
    23
    24
    25
    26
    27
    import java.util.List;
     
    import com.projet.common.exceptions.CommonException;
    import com.projet.editique.business.IEvenementFacade;
     
     
    public class EvenementFacadeImpl extends AbstractBaseFacade implements IEvenementFacade {
     
    	private List evenementsEnCours;
    	private List evenementsTraites;
     
     
    	public List getEvenementsEnCours() throws CommonException {
    		return getDaoFacades().getEvenementDAO().getEvenementEnCours();
    	}
     
    	public void setEvenementsEnCours(List evenementsEnCours) {
    		this.evenementsEnCours = evenementsEnCours;
    	}
     
    	public List getEvenementsTraites() throws CommonException {
    		return getDaoFacades().getEvenementDAO().getEvenementTraites();
    	}
     
    	public void setEvenementsTraites(List evenementsTraites) {
    		this.evenementsTraites = evenementsTraites;
    	}

  8. #8
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    et dans tes interfaces ISupprEvenementFacade et IEvenementFacade.
    Tu n'aurais pas une definition de ces methodes?

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 38
    Points
    38
    Par défaut
    l'interface ISupprEvenementFacade

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    package com.projet.editique.business;
     
    import java.util.List;
     
    import com.projet.common.exceptions.CommonException;
     
    public interface ISupprEvenementFacade {
     
    	public void supprEvenement(String id) throws CommonException;
     
    }


    l'interface IEvenementFacade:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    package com.projet.editique.business;
     
    import java.util.List;
    import com.projet.common.exceptions.CommonException;
     
    public interface IEvenementFacade {
     
     
    	public List getEvenementsEnCours() throws CommonException;
    	public List getEvenementsTraites() throws CommonException;
     
     
    }

  10. #10
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Et concretement quels sont tes messages d'erreurs ?

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 38
    Points
    38
    Par défaut
    Lorsque j'appelle mon SupprEvenementFacade, au moment du getDAOFacade, j'obtiens un null pointer exeption.

  12. #12
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    ok tu as NullPointerException, mais est-ce que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("DAO Facade"+ daoFacades);
    t'envoie DAO FacadeNull dans ton log ou ta sortie standard ?

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 38
    Points
    38
    Par défaut
    j'obtiens DAO FacadeNull sur ma sortie standart

  14. #14
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    C'est vraiment bizarre ton truc !!! Je commence a secher.

    Dans le cas d'un EvenementFacadeImpl, que te renvoie ce message sur le sortie standard?

  15. #15
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Ah ! Et comment s'instancie ton daoFacades dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<property name="daoFacades">
    		<ref bean="daoFacades"/>
    	</property>

  16. #16
    Membre actif Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Points : 231
    Points
    231
    Par défaut
    Bonjour,

    concernant ton nommage des classes, je le trouve pas terrible car il nuit à la compréhension général de ton problème.
    Je ne perçois pas l'intérêt de mettre systématiquement facade (pour façade ?). Qu'est-ce qu'une facade ?? .

    Me-gourre je, mais j'ai l'impression que tu te compliques la vie...

    Enfin, il manque la déclaration de ton daoFacades, comment tu récupères tes beans, si c'est dans un test...

  17. #17
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Il me semble qu'il utilise Spring et les EJBs.
    Et Facade et une convention de nommage pour l'interface qui s'utilise en local(si mes souvenirs sont bons ...).

    ensuite daoFacades est bien declare dans la classe AbstractBaseFacade.
    C'est plutot au niveau l'instanciation que j'ai des doutes, c'est quelque dans le applicationContext de Spring que ce n'est pas defini correctement je pense ...

Discussions similaires

  1. [ppc] Malloc renvoie NULL !
    Par FamiDoo dans le forum C++
    Réponses: 4
    Dernier message: 18/08/2006, 10h01
  2. Operateur "new" renvoi NULL
    Par Demerzel_01 dans le forum C++
    Réponses: 25
    Dernier message: 07/07/2006, 09h43
  3. [SPL] Rewind() qui renvoie NULL
    Par fadeninev dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 06/06/2006, 15h44
  4. [JSF] Erreur "bean of type null"
    Par vallica dans le forum JSF
    Réponses: 5
    Dernier message: 27/03/2006, 11h57
  5. [JDBC]Un new qui renvoie null...
    Par Ditch dans le forum JDBC
    Réponses: 4
    Dernier message: 03/01/2005, 13h14

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