Bonsoir amis développeurs,
(Contexte - Vous pouvez vous rediriger vers la section Demande si vous ne souhaitez pas perdre de temps.)
Récemment, j'ai suivi de nombreux tutoriels pour me lancer dans la création d'un site internet en J2EE.
Basée sur les Frameworks Spring, Hibernate et Primefaces, l'application évolue lentement mais sûrement...
C'est alors que j'ai été confronté à l'utilisation des annotations avec Spring.
J'ai vu de nombreux sujets sur le forum developpez.net qui parlaient de ses fameuses annotations, et ai pu rectifier quelques erreurs.
Typiquement, je n'avais pas activé la gestion des annotations dans Spring.
Malgré le parcours de X tutoriels sur Spring, je ne parviens toujours pas à faire fonctionner les annotations d'injection.
J'ai ajouté ces deux lignes dans le fichier de configuration de Spring (applicationContext.xml) :
Je n'ai pas déclaré ces balises ailleurs (car apparemment cela pose problème de scanner plusieurs fois le projet).
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
(Demande)
Concrètement, j'ai annoté tous mes DAOImpl avec l'annotation @Repository("nomDuDAO"), tous mes ServiceImpl avec l'annotation @Service("nomDuService"), et toutes mes références aux IDAO et IServices avec @Autowired.
J'ai créé un backing bean qui appelle un service de test, et lors de cet appel, je reçois un NullPointerException.
Les détails ci-après.
(Informations sur le code)
La vue :
Ces boutons appelent le backingBean "TestHibernateBean" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Lors de l'appel de l'une des deux méthodes creerCategorie() ou creerTodo(), Spring ne parvient pas à retrouver le service appelé malgré les annotations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Il me génère un NullPointerException (au besoin je peux insérer la trace de l'erreur). J'ai testé d'appeler le service via le service implémenté (CategorieServiceImpl par exemple), et il n'y a plus d'erreur. Enfin, si, mais le NullPointerException se génère dans le service lors de l'appel du DAO.
Voici l'interface du service "ICategorieService" :
Voici le service "CategorieServiceImpl" qui devrait être appelé par Spring grâce aux annotations :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
Et enfin, voici les fichiers de configuration.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"applicationContext.xml" :
"dispatcher-servlet.xml" : Je ne me sers pas de ce fichier de configuration, il a été créé automatiquement par Netbeans. Je peux fournir le code au besoin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"web.xml" :
Merci beaucoup par avance de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
Je m'excuse de la longueur du message, je tenais à le rendre le plus clair possible.
En vous souhaitant une agréable soirée,
M20K8X.

 

 
		
		 
         
 

 
			
			

 
   
 


 J2EE Spring - Annotations non prises en compte
 J2EE Spring - Annotations non prises en compte
				 Répondre avec citation
  Répondre avec citation

 
			 
  

Partager