<bean id="eddie" class="com.springinaction.Instrumentalist">
<property name="instrument" value="#{violin}"></property>
<property name="song" value="#{kenny.song}"></property>
</bean>
<bean id="violin" class="com.springinaction.Violin">
</bean>
<bean id="kenny" class="com.springinaction.Instrumentalist">
<property name="song" value="Kenny is a star,kenny is a star"></property>
<property name="instrument" ref="saxopone"></property>
</bean>
<aop:config>
<aop:aspect ref="audience">
<aop:before pointcut="execution(* com.springinaction.Performer.perform(..))" method="takeSeats()"/>
<aop:after-throwing method="demandRefund" pointcut="execution(* com.springinaction.Performer.perform(..))"/>
</aop:aspect>
</aop:config>
在上面的代码中,我正在使用 Spring 表达式语言注入 beansong
的instrument
属性。eddie
但是,song
属性没有正确注入..我收到以下错误:
线程“主”org.springframework.beans.factory.BeanCreationException 中的异常:在类路径资源 [spring-config.xml] 中定义名称为“eddie”的 bean 创建错误:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.BeanExpressionException:表达式解析失败;嵌套异常是 org.springframework.expression.spel.SpelEvaluationException:EL1008E:(pos 6):在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 的“$Proxy4”类型的对象上找不到字段或属性“歌曲”。 doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450) 在 org.springframework.beans。
乐器属性被正确注入,因为歌曲属性没有被注入,这只是因为 aop..
当我评论<aop:config>
它工作正常..
哪里不对了?