0
나는 봄에 대해 실험을 해왔다. SpEL을 사용하여 다른 bean에 대한 bean의 값 및 참조 등록 정보를 복사하려고합니다.SpEL을 사용하여 콩의 참조를 복사 할 수 없다.
이 콩을 고려
<bean id="kenny" class="com.springinaction.springidol.Instrumentalist">
<property name="song" value="#{'Jingle Bells'}" />
<property name="instrument" ref="piano" />
</bean>
아래 그림과 같이 내가 다른 콩에 그 값을 복사 할 : 그것은하지 않는
<bean id="carl" class="com.springinaction.springidol.Instrumentalist">
<property name="song" value="#{kenny.song}" />
<property name="instrument" ref="#{kenny.instrument}" /> <-- I GET EXCEPTION OVER HERE
</bean>
는 그러나, 나는 두 번째 prpoperty에 대한 예외를 얻을 케니의 악기를 복사 할 수 있습니다. "주" org.springframework.beans.factory.BeanCreationException 스레드에서
중첩 예외이다 org.springframework.expression.spel.SpelEvaluationException예외 : 오류 은 '칼을 이름으로 빈을 생성하는 노래는 예외가 나는이 예외가
을 발생하지 않고 올바르게 복사 '클래스 경로 리소스에 정의 됨 [Beans.xml] :'# {kenny.instrument} '빈에 대한 참조를 확인할 수 없습니다. 'bean '속성을 설정하는 중입니다. 중첩 예외는 입니다. org.springframework.beans.factory.BeanExpressionException : 표현 구문 분석에 실패했습니다. EL1008E : POS (6) 필드 또는 속성 "악기"타입의 객체 에서 찾을 수없는 'com.springinaction.springidol.Instrumentalist'
악기를 복사하고 id가 "carl"인 빈에 대해 설정할 수있는 방법을 알려주세요.
감사합니다. 악기 kenny가 언급하고 있기 때문에 제가 참고 문헌을 추가 한 유일한 이유는 콩이기도합니다. – Goaler444
kenny 속성의 소스가 bean 인 것은 중요하지 않습니다. 해결의 시점에서 그 연관성은 상실됩니다.'ref = "piano"'또는'value = "# {kenny.instrument}'를 사용할 수 있습니다. –