문제

표현식 내에서 스프링 구성 파일로 정의한 다른 객체를 참조하려고합니다. 구체적으로, 나는 메소드를 호출하는 표현식의 값으로 속성을 채우고 해당 메소드에서 반환 된 객체의 속성을 채우려고합니다.
다음을 시도했습니다 (이름이 변경되었습니다).

<property name="NullableIntProperty"
          expression="#{Some.Object.Id}.Get().NullableIntValue"/>

어디 Some.Object.Id 다음과 같은 구성 파일로 정의한 다른 객체에 대한 참조입니다.

<object id="Some.Object.Id" ... >

하지만 내 앱은 구문 분석 예외로 시작하지 않습니다. expecting "COLON", found '}'. 네임 스페이스를 기대하고 있다고 생각하지만 이것에 대한 문서를 찾지 못했습니다.

나는 몇 가지 시도를 시도했지만 어디에서나 막 다른 곳을 때렸습니다. 나는 원래의 조합을 시도했다 MethodInvokingFactoryObject 그리고 PropertyRetrievingFactoryObject 우리는 다른 장소에서 nullable 유형을 위해 사용하지만 실제로는 널 보관소에 실패합니다. null 봄은 물체 공장이 돌아 오는 것을 본 이후로 null 실패로 (일반적으로).

도움이 되었습니까?

해결책

당신은 사용할 수 있습니다 @(object-id-here) 표현 구문 표현식을 사용하여 스프링 컨텍스트에서 개체 검색:

<property name="NullableIntProperty"
          expression="@(Some.Object.Id).PropertyOnSomeObject"/>

다른 팁

#을 $로 변경하면 문제가 해결해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top