Bonjour à tous,
Je développe une application avec spring, hibernate et Vaadin.
j'ai un problème avec l'injection de dao dans mes classes d'interface graphique.
Dans certaines classes l'injection se fait avec réussite tandis que dans d'autres classes la référence dao retourne null ce qui provoque une NullPointerException.
J'ai beau cherché sur internet et les forum sans trouver aucune solution .
Voici le fichier de configuration beans.xml
Voici un exemple d'exception que je reçois
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 <context:spring-configured /> <context:component-scan base-package="com.businessdecision.tact.bdtechtest.dao" /> <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" /> <bean id="dataSource" class="org.springframework.jdbc.datasource.SingleConnectionDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/gestionnairedb</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value></value> </property> <property name="suppressClose"> <value>true</value> </property> </bean> <bean id="txDataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy"> <constructor-arg ref="dataSource" /> </bean> <!-- Hibernate SessionFactory Definition --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> <property name="dataSource"> <ref bean="txDataSource" /> </property> <property name="packagesToScan"> <list> <value>com.businessdecision.tact.bdtechtest.domain</value> </list> </property> </bean> <!-- Using HibernateTemplate, and shared by all DAO object because it is thread-safe --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory" /> <property name="fetchSize" value="20" /> <property name="allowCreate" value="true" /> <property name="alwaysUseNewSession" value="false" /> </bean> <!-- Hibernate Transaction Manager Definition --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /> <!-- le gestionnaire de BLOB / CLOB de chez Spring --> <bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" />
La ligne générant l'exception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 FormGestionProfil.java >> utilisateurDao: null java.lang.NullPointerException at com.businessdecision.tact.bdtechtest.ui.FormGestionProfil.buttonClick(FormGestionProfil.java:95)
et la classe générant l'exception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(utilisateurDao.confirmPWD(npwd, user)){
merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @Configurable(preConstruction=true) public class FormGestionProfil extends Form implements ClickListener { private static final long serialVersionUID = 463035994709151133L; @Autowired UtilisateurDao utilisateurDao;
Partager