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 Web Java Discussion :

[Spring MVC] Traitement à effectuer au lancement de l'application


Sujet :

Spring Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 28
    Par défaut [Spring MVC] Traitement à effectuer au lancement de l'application
    Bonjour,

    Je développe actuellement une application web J2EE à l'aide de Spring et je ne sait pas où placer ma connection à la base de données.
    Pour le moment je fais la connection à chaque fois qu'un utilisateur se connecte, mais cela ne sert à rien de le faire pour chaque utilisateur. Je voudrais n'avoir à le faire qu'une seule fois : au lancement de l'application.

    Où placer alors ce genre de traitement ? Spring doit certainement offrir ce genre de possibilités mais je ne vois pas comment procéder.

  2. #2
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Pourquoi n'utilises-tu pas le IoC Container de Spring pour initialiser un datasource que tu injectes ensuite dans tes DAO ?

    Tu trouveras toute la documentation nécessaire ici : http://static.springframework.org/sp...ence/jdbc.html.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Heu, je ne vois aps ce qu'il y a d'anormal à se connecter à la base souvent.
    La plupart du temps, on fait même une connexion par requête !

    Peut-être que tu veux parler de pool de connexion en fait ? En ce cas désolé, je ne sais pas comment on les gère en Spring.

    Comment gères-tu, pour l'instant, tes connexions BDD ? Peux-tu poster du code explicatif, comme celui de ton fichier de config Spring ?

    EDIT : cf. le post de aJavaDevelopper pour avoir une vraie info utile

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 28
    Par défaut
    Je ne vais pas rentrer dans les détails pour expliquer pourquoi je veux faire ma connection une seule fois ce serait un peu long et c'était un exemple, j'aimerais savoir comment faire un traitement en général, au lancement de l'application.

    Ensuite après avoir lu la réponse de aJavaDeveloper je me rend compte qu'il y a plusieurs choses que je ne suis pas sûre de comprendre.

    Quelle est la différence entre déclarer un bean dans le fichier xxx-servlet.xml ou applicationContext.xml ?
    Un bean est par défaut un singleton et je dois déclarer explicitement que je ne veux pas que ce soit le cas c'est bien ça ?
    Quel est le cycle de vie des beans ? Un bean singleton sera-t-il créer pour toute la durée de vie de l'application ?

    Bon ça fait beaucoup de questions d'un coup mais je commence à m'embrouiller là...

  5. #5
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Quelle est la différence entre déclarer un bean dans le fichier xxx-servlet.xml ou applicationContext.xml ?
    Le fichier xxx-servlet.xml contient la déclaration de tes Controller, de tes Intercepter, de tes mappings URL, ...
    En fait, tous ces éléments font partie de Spring MVC.
    Ils sont propres à une application web (d'où le suffixe du nom du fichier : -servlet).

    Le fichier applicationContext.xml contient la déclaration des objets que tu souhaites voir créés au lancement de ton application.

    Un bean est par défaut un singleton et je dois déclarer explicitement que je ne veux pas que ce soit le cas c'est bien ça ?
    Effectivement, les beans que tu déclares dans le fichier applicationContext.xml seront placés, par défaut, dans le contexte de l'application (d'où le nom du fichier).
    Autrement dit, une même instance de chacun de ces beans sera partagée par tous les utilisateurs.
    Si ce comportement ne te convient pas, tu peux spécifier un autre scope pour tes beans (session ou request, par exemple).

    Quel est le cycle de vie des beans ?
    Un bean singleton sera-t-il créer pour toute la durée de vie de l'application ?
    Oui.

  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Pour plus d'infos sur le singleton, voir ici.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 28
    Par défaut
    Merci pour ces explications et le lien.

    Mais quand aJavaDeveloper dit :
    les beans que tu déclares dans le fichier applicationContext.xml seront placés, par défaut, dans le contexte de l'application
    Est-ce que ça signifie que un bean déclaré dans le fichier xxx-servlet.xml ne sera pas placé par défaut dans le contexte de l'application ? Que le comportement par défaut d'un bean ne sera pas le même suivant le fichier xml dans lequel il est déclaré ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Spring MVC] Récupérer des valeurs de formulaires sur n pages
    Par ran_hery dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/04/2006, 07h23
  2. Réponses: 2
    Dernier message: 16/02/2006, 10h29
  3. [Spring MVC][Validator] Ne stop pas si il y a une erreurs
    Par Hikage dans le forum Spring Web
    Réponses: 3
    Dernier message: 15/02/2006, 09h43
  4. [Débat] Spring MVC versus Struts
    Par alheim dans le forum Frameworks Web
    Réponses: 6
    Dernier message: 19/12/2005, 10h13
  5. [Spring MVC] Formulaire dynamique
    Par partyboy dans le forum Spring Web
    Réponses: 7
    Dernier message: 17/10/2005, 10h52

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