IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Différence entre applicationContext.xml et dispatcher-servlet.xml


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 134
    Par défaut Différence entre applicationContext.xml et dispatcher-servlet.xml
    Bonjours à tous,

    Suivant un tutoriel je réalise un projet web basique, j'aimerais savoir quel est la différence entre c'est deux fichier de configuration ?

    applicationContext.xml et dispatcher-servlet.xml

    Ce sont des fichiers de configuration ok, mais dans quel fichier je dois définir mes beans ?

    Si dans l'un je déclare mes beans, l'autre mets de quel utilité ?

    Merci à tous

  2. #2
    Membre éclairé

    Inscrit en
    Janvier 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 44
    Par défaut
    ApplicationContext.xml va plutôt te servir a configurer les beans métier de ton application, alors que dispatcher-servlet.xml va gérer les beans web (c'est a dire ceux qui vont assurer le traitement de la requètes)

    Tu injectes les beans métiers dans les beans web, mais pas l'inverse !!

  3. #3
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Par défaut
    Dans un contexte Web avec Spring MVC, il faut comprendre qu'il y a en générale 2 contexte différents.

    Le premier est créée par le ContextLoaderListener, et pas défaut il va chercher un applicationContext.xml.
    Ce contexte est général à l'application et est chargé lors du démarrage de celle-ci.


    Ensuite, tu as un contexte propre à la servlet, créé par la DispatcherServlet.
    Si dans ton mapping celle-ci porte le nom maservlet, alors elle cherchera un fichier maservlet-servlet.xml

    Dans de fichier, tu as en général les controlleurs, la configuration du view-resolver, etc ... tout ce qui est propre au Web.
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 143
    Par défaut
    En fait les deux fichiers créent un application context.

    Par contre la subtilité est que le dispatcher-servlet.xml créé un application context enfant du premier. Il "voit" les beans de l'application context parent, mais l'inverse n'est pas vrai.

    Ce que dit "michaelcourcy" est donc en fait une obligation, ce qui est une très bonne chose (sinon vous avez une belle bêtise dans votre code).

    Donc :
    - dispatcher-servlet.xml = contexte enfant, contient les beans Web
    - applicationContext.xml = contexte parent, contient les beans métier

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 134
    Par défaut
    Je reviens un peu à l'assaut...
    J'ai crue comprendre mais malheureusement il y a toujours des coins obscures.

    Donc :
    - dispatcher-servlet.xml = contexte enfant, contient les beans Web
    - applicationContext.xml = contexte parent, contient les beans métier
    Que voulez vous dire par beans web ?
    Concernant les métiers je pense qu'il devrait pas y avoir de problème !

    Auriez vous un exemple ?

    Merci

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 143
    Par défaut
    Des beans Spring MVC. Donc tous les beans annotés @Controller par exemple.

    Note que tu aurais exactement le même système avec Spring WS (cela fait un deuxième application context enfant, qui est le "frère" de celui-ci).

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/10/2013, 15h26
  2. Outils sur les différences entre deux fichiers XML
    Par Community Management dans le forum XML/XSL et SOAP
    Réponses: 19
    Dernier message: 21/07/2008, 15h21
  3. [VB.NET] Différences entre deux XML
    Par olbi dans le forum VB.NET
    Réponses: 1
    Dernier message: 01/10/2007, 18h04
  4. [XML] Différence entre contenu de balise et argument
    Par cyrano_de_bergerac dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 07/06/2007, 15h49
  5. Réponses: 2
    Dernier message: 06/07/2006, 08h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo