我使用Spring 3创建了一个Web应用程序,并希望利用Spring表达式语言的力量,但遇到了问题。我需要将其中一个bean的属性值设置为另一个bean上方法调用的结果。我知道我可以做到这一点,但问题是该方法调用的结果可能会在bean初始化后发生变化,我需要该属性来反映更改。例如:使用SpEL更新Spring bean属性的值
<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>
从我所知道的,numberOfGuests
字段设置首次party
字段访问。但在party
字段被访问后,访客人数可能会改变,我需要numberOfGuests
字段来反映这一点。当我需要更新值时,有没有办法在我的应用程序中重新初始化numberOfGuests
字段?
这只是一个例子,直接访问guestList
bean不适用于我的具体情况。
这绝对是最简单的(也是首选!)方法,但OP表示“这只是一个例子,直接访问guestList bean不适用于我的具体情况。” – 2010-11-23 21:42:34
你说得对。采取的点。我们当然需要更多的信息。直接访问'guestList' bean有什么问题? – 2010-11-23 21:59:38