Salut,

Après avoir lu http://static.springsource.org/sprin...tml/beans.html entièrement, j'en sais déjà un peu plus sur l'importance du contexte qui est le reflet (bien souvent mais pas uniquement, y a les annotations aussi si j'ai bien compris), de ce qui est indiqué dans le fichier qui sert de configuration . De plus avec le scope "request", il faut ajouter un Listener particulier dans le web.xml de la servlet (org.springframework.web.context.request.RequestContextListener).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<bean id="test" class="com.foo.Test" scope="request">
   <aop:scoped-proxy/>
</bean>
"Obtenir le bean instancié par Spring pour chaque request dans la classe de mon service", je n'ai pas à m'en soucier, je n'aurai pas de NPE sur monBean.maMethod() si ma config est correcte, car le framework aura appelé la méthode setBean() de la classe de mon service.

Maintenant, imaginez que j'ai besoin de mon bean ailleurs, plus loin dans un des objets utilisés pour le traitement de la requète. La solution que l'on avait jusqu'ici était de se trainer le bean en paramêtre dans toutes les méthodes appelées => lourd. Pourquoi ne pas avoir cet objet au niveau du scope request et d'y faire référence à chaque fois que c'est nécessaire.

On a fait l'essai (avec @autowired pour ne pas écrire le setter) dans la classe du service et c'est ok, on peut renseigner ce bean avec ce que l'on veut. Mais comment faire quand on veut utiliser ce bean dans une autre classe utilisée plus loin?
On ne peut pas refaire le coup utilisé dans la classe du service à savoir ajouter @autowired car on a une NPE. Comment feriez-vous?

Cdlt,

MT

PS : modo, pouvez-vous déplacer ce message vers le forum Spring? thx