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 :

Initialisation d'un bean avec arguments


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 172
    Par défaut Initialisation d'un bean avec arguments
    Bonjour,

    j'ai besoin de définir un bean dans mon fichier de conf de Spring avec un constructeur possédant des arguments.
    Mon problème vient du fait que les arguments ne sont connus qu'à la création du bean.
    Je sais qu'il est possible de définir un bean avec un constructeur possédant des arguments comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <bean name="exampleBean"
         class="examples.spring.ExampleBean" 
         singleton="false">
         <constructor-arg><ref bean="otherBean"/></constructor-arg>  
    </bean>
    mais dans ce cas le bean "otherBean" est également défini dans le fichier de configuration de Spring. Or dans mon cas l'objet passé en argument de mon constructeur est un objet non géré par Spring.

    J'espère que c'est possible...

    Merci d'avance

  2. #2
    Membre confirmé Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Par défaut
    Salut,

    d'où vient ton objet non géré par Spring ?

    je ne sais pas si cela te sera utile... dans le doute
    tu as la possibilité de récupérer les variables d'un fichier properties:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      <bean id="myPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
          <list>
            <value>org/atlanticlog/config/*.properties</value>
          </list>
        </property>
      </bean>
    et ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      <bean id="paramMandataire" class="org.atlanticlog.constant.ParamMandataire">
        <property name="nom"><value>${param.nom}</value></property>
        <property name="prenom"><value>${param.prenom}</value></property>
    ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 172
    Par défaut
    Mon objet non géré par Spring peut être n'importe quoi. Par exemple une String construite à l'exécution.

    En fait il me faudrait un getBean dans lequel tu peux passer des arguments. C'est pas possible ça ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 172
    Par défaut
    Personne ne peut m'aider ? please...

  5. #5
    Membre éclairé Avatar de dgouyette
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    Dans ce cas là, si tu veux injecter des type primitifs tu peux faire comme ca (je ne sais pas si ca répond à ta question) :


    <bean name="exampleBean" class="examples.spring.ExampleBean"
    singleton="false">
    <property name="maPropriete"><value>ma valeur</value></property>
    </bean>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 172
    Par défaut
    le problème est que dans ce cas "ma valeur" est défini est "dur" dans le fichier de configuration de Spring, alors que je voudrais pouvoir lui donner une valeur à l'exécution. Tu vois ce que je veux dire ?

Discussions similaires

  1. Formulaire d Initialisation avec argument
    Par khame1 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/01/2012, 14h42
  2. creer une fonction avec arguments
    Par niglo dans le forum ASP
    Réponses: 3
    Dernier message: 03/06/2005, 08h04
  3. Réponses: 5
    Dernier message: 17/05/2005, 09h34
  4. [Struts]Pb d'initialisation d'un Bean !
    Par Ho(c)ine. dans le forum Struts 1
    Réponses: 4
    Dernier message: 26/08/2004, 22h37
  5. [C#] Equivalent Property avec arguments de VB.NET
    Par Antz dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/03/2004, 13h14

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