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

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" />
Voici un exemple d'exception que je reçois
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)
La ligne générant l'exception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
if(utilisateurDao.confirmPWD(npwd, user)){
et la classe générant l'exception
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;
merci d'avance pour votre aide.