210 votes

Comment définir un haricot de liste au printemps ?

Je suis l'aide de Printemps pour définir les étapes dans mon application. Il est configuré de manière que le nécessaire en classe (ici appelés Configurator) est injecté avec les étapes.
Maintenant j'ai besoin de la Liste des Étapes dans une autre classe, nommée LoginBean. L' Configurator n'offre pas l'accès à sa Liste d'Étapes.

Je ne peux pas changer la classe Configurator.

Mon Idée:
Définir un nouveau bean Stades et de l'injecter à Configurator et LoginBean. Mon problème avec cette idée, c'est que je ne sais pas comment faire pour transformer cette propriété:

<property ...>
  <list>
    <bean ... >...</bean>
    <bean ... >...</bean>
    <bean ... >...</bean>
  </list>
</property>

une fève.

Quelque chose comme cela ne fonctionne pas:

<bean id="stages" class="java.util.ArrayList">

Quelqu'un peut-il m'aider?

285voto

simonlord Points 2473

Importez l’espace de noms printemps util. Ensuite, vous pouvez définir un haricot de liste comme suit :

Le type de valeur est le type de médicaments génériques à utiliser et est facultative. Vous pouvez également spécifier la classe d’implémentation de liste à l’aide de l’attribut `` .

179voto

stacker Points 34209

Voici une méthode :

40voto

Jakub Kubrynski Points 3295

Une autre option consiste à utiliser JavaConfig. En supposant que toutes les étapes sont déjà inscrits comme fèves de printemps il vous suffit de :

et le printemps va leur injecter automatiquement dans cette liste. Si vous avez besoin préserver l’ordre (solution supérieure ne fait que) vous pouvez le faire de cette façon :

38voto

Koray Tugay Points 1885
<pre><code></code><p>Et dans SomeClass :</p><pre><code></code></pre></pre>

9voto

haju Points 275

Gerbeur électrique posée une grande réponse, je voudrais aller un pas plus loin pour la rendre plus dynamique et utiliser Spring 3 EL Expression.

J’essayais de comprendre comment je pourrait faire avec les util:list, mais ne pouvait pas travailler en raison d’erreurs de conversion.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X