Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire      


Comment créer un contexte Spring dans une application Web?
auteur : Gildas Cuisinier
Dans une application Web, il n'est pas utile de créer l'ApplicationContext à la main via une des implémentations de cette interface.
En effet, Spring fourni un Listener afin de gérer cela :

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>
Par défaut, ce Listener va charger un fichier /WEB-INF/applicationContext.xml, et stocker l'ApplicationContext dans le ServletContext.
Il est possible de spécifier un ou plusieurs fichiers à charger à la place du fichier par defaut. Pour cela, il faut utiliser un paramètre de contexte :

<context-param>
    <param-name>contextConfigLocation</param-name>
        <!-- Chargement de tout fihcier xml commençant par applicationContext -->
    <param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
Ensuite, dans les servlets ( ou toute autre classe possèdant une référence au ServletContext ), il est possible de récupérer l'applicationContext via :

WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
lien : Documentation officielle sur l'intégration de Spring dans les applications Web

Comment utiliser Spring avec JSF ?
auteur : Gildas Cuisinier
Une fois qu'un context Spring a été crée dans l'application Web, il est possible d'injecter un Bean Spring dans une Bean JSF. Pour ce faire, il faut tout d'abord ajouter un variable-resolver dans le faces-config.xml :

faces-config>
  <application>
    <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
    </application>
</faces-config>
Une fois cela fait, il est possible de lier un Bean Spring comme une propriété du Bean JSF :

<managed-bean>
  <managed-bean-name>monBeanJSF</managed-bean-name>
	<managed-bean-class>com.developpez.spring.jsf.MonBeanJSF</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
  <managed-property>
    <property-name>userService</property-name>
    <value>#{userService}</value>
  </managed-property>
</managed-bean>
Dans cet exemple, #{userService} fait référence à un Bean défini dans Spring, avec le nom userService.


precedent    sommaire      

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2004  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com