我使用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