Spring 3을 사용하여 웹 응용 프로그램을 만들고 있고 Spring Expression Language의 힘을 이용하고 싶지만 문제가 발생했습니다. 내 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에 직접 액세스하는 것이 내 특정 상황에서는 작동하지 않습니다.
이것은 확실히 간단하지만 (선호되는! –
당신 말이 맞아요. 요점을 알았어. 우리는 그때 좀 더 많은 정보가 필요합니다. 'guestList' 빈에 대한 직접적인 접근은 무엇이 문제입니까? –