printemps: définir une propriété d'un bean par la lecture de la propriété d'un autre bean?
Est-il possible de définir la propriété d'un bean par la lecture de la propriété d'un autre bean? Par exemple, supposons que j'ai eu:
class A {
void setList(List list);
}
class B {
List getList();
}
Je voudrais Printemps pour instancier les deux classes, et d'appeler Un de la setList méthode, en passant le résultat de l'appel de B getList méthode. La configuration Spring pourrait ressembler à quelque chose comme:
<bean id="b" class="B"/>
<bean id"a" class="A">
<property name="list" ref="b" ref-property="list"/>
</bean>
Hélas, cette XML ne fonctionne pas.
Pourquoi ne pas injecter B dans Une? Parce que je ne veux pas introduire le supplément de dépendance. Un est uniquement dépendante de la Liste, pas sur B.
- Puisque vous avez une meilleure réponse, considérez-vous l'évolution de votre acceptation?
Vous devez vous connecter pour publier un commentaire.
en plus de @Kevin réponses si vous êtes à l'aide de spring 3.0, il est possible de le faire avec le nouveau printemps de l'expression de la langue
spring 3.0 documentation
Il ya un couple de façons. En voici une:
Également voir le
<util:propriété de chemin/>
élémentSi vous essayez de faire de même pour un constructeur, puis le faire.
Ici "jdbc" est comme indiqué ci-dessous qui a la propriété "source de données" avec getter et setter et initilized comme: