四月 08, 2017 10:07:02 下午 org.springframework.context.support.ClassPathXmlApplicat
ionContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContex
t@7a07c5b4: startup date [Sat Apr 08 22:07:02 CST 2017]; root of context hierarc
hy
四月 08, 2017 10:07:03 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionR
eader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [spring-conf.xml]
Person:Id: No.1001 name: David age : 22
Exception in thread "main" org.springframework.beans.factory.BeanCreationExcepti
on: Error creating bean with name 'son1': FactoryBean threw exception on object
creation; nested exception is org.springframework.beans.NotReadablePropertyExcep
tion: Invalid property 'son' of bean class [java.lang.String]: Bean property 'so
n' is not readable or has an invalid getter method: Does the return type of the
getter match the parameter type of the setter?
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetOb
jectFromFactoryBean(FactoryBeanRegistrySupport.java:175)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObje
ctFromFactoryBean(FactoryBeanRegistrySupport.java:127)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBe
anInstance(AbstractBeanFactory.java:1634)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Abst
ractBeanFactory.java:254)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra
ctBeanFactory.java:202)
at org.springframework.context.support.AbstractApplicationContext.getBean(Abstr
actApplicationContext.java:1087)
at com.kinsey.woo.main.RunMain.main(RunMain.java:14)
Caused by: org.springframework.beans.NotReadablePropertyException: Invalid prope
rty 'son' of bean class [java.lang.String]: Bean property 'son' is not readable
or has an invalid getter method: Does the return type of the getter match the pa
rameter type of the setter?
at org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(
AbstractNestablePropertyAccessor.java:633)
at org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(
AbstractNestablePropertyAccessor.java:624)
at org.springframework.beans.factory.config.PropertyPathFactoryBean.getObject(P
ropertyPathFactoryBean.java:211)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetOb
jectFromFactoryBean(FactoryBeanRegistrySupport.java:168)
... 6 more
<bean id="son1" class="org.springframework.beans.factory.config.PropertyPathFactoryBean">
<property name="targetBeanName" value="person" />
<!-- 调用person.getSon()方法给son1 -->
<property name="propertyPath" value="son" />
</bean>
将
targetBeanName 写成了 targetObjct