私はSpringを試してきました。SpEL を使用して、Bean の値と参照プロパティを別の Bean にコピーしたいと考えています。
この Bean を考えてみましょう:
<bean id="kenny" class="com.springinaction.springidol.Instrumentalist">
<property name="song" value="#{'Jingle Bells'}" />
<property name="instrument" ref="piano" />
</bean>
以下に示すように、その値を別の 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>
ただし、ケニーの楽器をコピーできないため、2番目のプロパティの例外が発生します。曲は例外がスローされることなく正しくコピーされます
私はこの例外を受け取ります:
スレッド "main" org.springframework.beans.factory.BeanCreationException での例外: クラスパス リソース [Beans.xml] で定義された名前 'carl' の Bean の作成中にエラーが発生しました: 設定中に Bean '#{kenny.instrument}' への参照を解決できませんBean プロパティ 'instrument'; ネストされた例外は org.springframework.beans.factory.BeanExpressionException: 式の解析に失敗しました。ネストされた例外は org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 6): フィールドまたはプロパティ 'instrument' がタイプ 'com.springinaction.springidol.Instrumentalist' のオブジェクトに見つかりません
楽器をコピーして、ID「carl」のBeanに設定する方法を教えてください。