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 :

autowired ne fonctionne pas Spring Struts Hibernate


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Par défaut autowired ne fonctionne pas Spring Struts Hibernate
    Bonjour tout le monde,

    ça fait 6 mois que je travaille sur Spring , mais dans une application existante , donc je comprends bien sa grande utilité ,

    Maintenant , je veux développer une petite application personelle pour bien en comprendre le fonctionnement.

    L'architecture que j'ai choisi (struts , Spring , hibernate) , je sais qu'il vaut mieux travailler avec spring MVC , mais j'aimerais bien coupler Struts , avec Spring et Hibernate.

    Comme serveur d'application j'ai choisi Jboss.

    l'annotation autowired ne fonctionne pas encore , par conséquent , j'ai systematiquement un nullPointerException.

    Je vous communique dans le message suivant le code depuis le web.xml jusqu'au dao.

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Par défaut
    web.xml
    J'ai ommis de vous communiquer ci dessous la partie MVC puisqu'elle fonctionne très bien.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>StrutsExample</display-name>
    <!-- Action Servlet Configuration -->
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- Action Servlet Mapping -->
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <jsp-config>
    <taglib>
    <taglib-uri>/WEB-INF/struts-bean</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-logic</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-html</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/x</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-tiles</taglib-uri>
    <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-nested</taglib-uri>
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/sql</taglib-uri>
    <taglib-location>/WEB-INF/sql.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/c</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
    </jsp-config>
    <!-- Listener Spring -->
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- fin Listener -->
    </web-app>
    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schem...-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <bean id="propertyConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
    <list>
    <value>/configuration.properties</value>
    </list>
    </property>
    </bean>
    <bean id="loginService" class="com.softcomputing.service.LoginServiceImpl"/>
    <bean id="loginDao" class="com.softcomputing.dao.LoginDAOImpl"/>
    <import resource="db-config.xml" />

    </beans>
    db-config.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schem...ring-beans.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schem...ing-tx-3.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schem...ontext-3.0.xsd
    ">

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass">
    <value>${jdbc.driver.className}</value>
    </property>
    <property name="jdbcUrl">
    <value>${jdbc.url}</value>
    </property>
    <property name="user">
    <value>${jdbc.username}</value>
    </property>
    <property name="password">
    <value>${jdbc.password}</value>
    </property>
    </bean>

    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    <property name="packagesToScan" value="com.softcomputing.dao.mapping" />
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">${jdbc.hibernate.dialect}</prop>
    <prop key="hibernate.hbm2ddl.auto">create</prop>
    <!-- uncomment this for first time run-->
    <prop key="hibernate.hbm2ddl.auto">create</prop>
    <prop key="hibernate.show_sql">false</prop>
    </props>
    </property>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>
    <tx:annotation-driven />
    </beans>
    L'action
    public class LoginAction extends org.apache.struts.action.Action {

    @Autowired
    LoginServiceInt loginService;
    public LoginAction() {

    }

    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

    LoginFormBean loginForm = (LoginFormBean)form;

    boolean validLogin = loginService.login(loginForm.getUsername(), loginForm.getPassword());
    if (validLogin) {
    return mapping.findForward("welcome");

    }
    else {
    return mapping.findForward("error");
    }
    }
    }
    Service
    @Service("loginService")
    @Transactional
    public class LoginServiceImpl implements LoginServiceInt {

    @Autowired
    private LoginDaoInt LoginDao;


    public boolean login(String login, String mdp) {
    // TODO Auto-generated method stub

    return LoginDao.login(login, mdp);
    }


    }
    Dao
    @Repository("loginDao")
    @Transactional
    public class LoginDAOImpl implements LoginDaoInt {

    private HibernateTemplate hibernateTemplate;



    @Autowired
    public void setSessionFactory(SessionFactory sessionFactory) {
    hibernateTemplate = new HibernateTemplate(sessionFactory);
    }


    public boolean login(String login,String mdp) {
    List<Utilisateur> listUtilisateurs= ( List<Utilisateur>)( hibernateTemplate.find("from Utilisateur u where u.login=? and u.mdp=?",login,mdp));
    if(listUtilisateurs.size()>0)
    return true;
    else
    return false;
    }

    }

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Par défaut
    que ça soit LoginDAOImpl ou LoginServiceImpl , on a des nullpointerException , donc ça veut dire que @autowired ne fonctionne pas.?

    Cordialement.

  4. #4
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Je te conseille de lire http://renidev.javabolivia.com/2009/...nd-annotation/ qui est assez bien expliqué pour activer les annotations

  5. #5
    Membre très actif
    Avatar de Khaled.Noordin
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 354
    Billets dans le blog
    1
    Par défaut
    Salut,
    quand tu donne du code met le dans la balise [CODE/] car en citation c'est en noir et blanc et pas indenté donc cela ne donne pas trop envie de le lire.
    Sinon je n'ai pas vue ceci dans ton fichier de configuration spring
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <context:annotation-config/>
        <context:component-scan base-package="com.softcomputing"/>

    la première balise active l'injection par annotation et la seconde le package de base pour scanner à la recherche d'annotations supportées par spring.

Discussions similaires

  1. Projet web Spring / Struts / Hibernate
    Par jaljal dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 13/05/2014, 11h49
  2. Spring Struts hibernate
    Par dany.bill dans le forum Spring Web
    Réponses: 1
    Dernier message: 17/03/2010, 09h21
  3. Spring Struts Hibernate
    Par marouati dans le forum Autres
    Réponses: 0
    Dernier message: 10/04/2009, 13h52
  4. Réponses: 5
    Dernier message: 12/05/2006, 22h02
  5. SPRING+STRUTS+HIBERNATE. Une bonne solution ?
    Par ollivier dans le forum Struts 1
    Réponses: 9
    Dernier message: 10/04/2006, 13h16

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