Je crée une application Web à l'aide de Spring 3 et je souhaite exploiter la puissance de la langue d'expression Spring mais j'ai rencontré un problème. J'ai besoin de définir la valeur d'une propriété sur un de mes beans au résultat d'un appel de méthode sur un autre bean. Je sais que je peux le faire mais le problème est que le résultat de cet appel de méthode peut changer après l'initialisation du bean et j'ai besoin de cette propriété pour refléter le changement. Par exemple:Mise à jour de la valeur d'une propriété Spring bean à l'aide de SpEL
<beans>
...
<bean name="guestList" class="java.util.ArrayList"></bean>
<bean name="party" class="some.custom.class.Party">
<property name="numberOfGuests" value="#{guestList.size()}" />
</bean>
...
</beans>
D'après ce que je peux dire, le champ est défini numberOfGuests
la première fois le champ party
est accessible. Mais après avoir accédé au champ party
, le nombre d'invités peut changer et j'ai besoin du champ numberOfGuests
pour refléter cela. Est-il possible de réinitialiser le champ numberOfGuests
dans mon application chaque fois que j'ai besoin de la valeur mise à jour?
Ceci est juste un exemple et l'accès au bean guestList
ne fonctionnera pas directement pour ma situation spécifique.
c'est certainement la façon de le faire plus simple (et préféré!), mais l'OP a dit: « Ceci est juste un exemple et d'accéder à la fève guestlist directement ne fonctionnera pas pour ma situation. » –
Vous avez raison. Point pris. Nous avons vraiment besoin de plus d'informations alors. Quel est le problème avec l'accès direct au bean 'guestList'? –