<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>
В приведенном выше коде я внедряю свойство song
, instrument
компонента eddie
, используя язык выражения Spring. Но свойство song
введено неправильно ... и я получаю сообщение об ошибке ниже:
Исключение в теме "главная"
org.springframework.beans.factory.BeanCreationException:
Ошибка создания бина с именем 'eddie'
определено в ресурсе пути к классу
[spring-config.xml]: инициализация
боб не удался; вложенное исключение
org.springframework.beans.factory.BeanExpressionException:
Не удалось разобрать выражение; вложенными
исключение
org.springframework.expression.spel.SpelEvaluationException:
EL1008E: (поз. 6): поле или свойство
«песня» не может быть найдена на объекте
введите "$ Proxy4" в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:519)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:450)
в
org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:290)
в
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222)
в
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:287)
в
org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:189)
в
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:557)
в
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:842)
в
org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:416)
в
org.springframework.context.support.ClassPathXmlApplicationContext. (ClassPathXmlApplicationContext.java:139)
в
org.springframework.context.support.ClassPathXmlApplicationContext. (ClassPathXmlApplicationContext.java:83)
в
com.springinaction.Main.main (Main.java:10)
Свойство инструмента вводится правильно, когда свойство песни не вводится, и это происходит только из-за aop.
когда я комментирую <aop:config>
все работает нормально ..
Что-то не так?