Spring : Injection dépendance au démarrage - Java - Programmation
Marsh Posté le 19-07-2009 à 18:02:09
Rien compris.
Les bean sont tous initialisés au démarrage du context Spring. Sauf si tu as mis lazy-init.
Marsh Posté le 26-07-2009 à 04:23:23
bugsan a écrit : Rien compris. |
Et dans un junit comment t'injectes les dépendances dans une classe de test sachant que c'est une classe "main", comment utilises-tu l'AOP pour transactionner toutes les méthodes de test ?
Marsh Posté le 26-07-2009 à 11:30:30
Giz a écrit :
|
Bah à la main, tu crées les mocks & autres qui vont autour de l'objet à tester puis tu fais tes tests
Le DI se fait au niveau d'une application qui tourne, pas des tests
Marsh Posté le 26-07-2009 à 11:33:32
T'as une classe abstraite de test avec Spring AbstractDependencyInjectionSpringContextTests. tu étends ça, tu précises ton applicationContext.xml, et hop!
un exemple complet, avec Spring hibernate et dbunit : http://zenoconsulting.wikidot.com/blog:8
Marsh Posté le 26-07-2009 à 12:32:08
brisssou a écrit : T'as une classe abstraite de test avec Spring AbstractDependencyInjectionSpringContextTests. tu étends ça, tu précises ton applicationContext.xml, et hop! |
C'est a partir de Spring 2.5 je crois. Si c'est une version de spring plus ancienne, il faut le faire soit même, mais ce n'est pas trop compliqué : le setUp charge le context via XmlContextMachinBidule et roulez jeunesse.
Marsh Posté le 06-07-2009 à 14:26:44
Bonjour,
Comment injecter les dépendances de Spring au démarrage de l'application ?
Je m'explique...
Actuellement je dispose d'une classe MscRandomNodeHelper.java.
A cette classe sont injectée plusieurs dépendances. ex :
Dans ce cas, lorsque je "tire" le bean MscRandomNodeHelper, toute la grappe (en partant de MscRandomNodeHelper) est tirée.
Le problème est que pour choper la racine d'id MscRandomNodeHelper je suis obligé de me farcir la bonne vieille instruction :
Ce qui a pour conséquence de tirer la grappe.
Moi j'aimerais que dans ma classe MscRandomNodeHelper.java, la variable "mscRandomNodeHelper" soit directement initialisée par Spring sans passer par l'instruction ci-dessus.
En clair, pour choper la grappe, je dois utiliser cette instruction sur la racine...et tous les fils sont initialisés correctement.
Maintenant je veux que l'initialisation se fasse directement à partir de la racine et pas seulement sur les fils et sous fils.
Compris ?
Merci
Message édité par Giz le 06-07-2009 à 14:31:17