首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Caused by: org.springframework.beans.InvalidPropertyException:

2011-11-25 
一个超级简单的Spring注入的问题,为什么说找不到property? 内详...我有一个类:Java codepublic class HPSe

一个超级简单的Spring注入的问题,为什么说找不到property? 内详...
我有一个类:

Java code
public class HPServiceImpl implements HPService{    private HPDao dao;        public void setHPDao(HPDao dao)    {        this.dao = dao;    }        @Override    public int getHp()    {        return dao.getHp();    }}


它的Bean定义:
XML code
    <bean id="hpService" class="org.mycompany.spring.aop.service.impl.HPServiceImpl">              <property name="dao">            <ref bean="hpDao" />        </property>    </bean>


// -----------------------------------------------------------

引用了hpDao的Bean:
XML code
     <bean id="hpDao" class="org.mycompany.spring.aop.dao.impl.HPDaoImpl"/>


hpDao的实际类是:
Java code
public class HPDaoImpl implements HPDao{    @Override    public int getHp()    {        return (int)(Math.random() * 100);    }    }


// -----------------------------------------------------------

我用一个main去调用它:
Java code
public class Main{    public static void main(String[] args)    {        ApplicationContext context= new ClassPathXmlApplicationContext("classpath*:spring/application-*.xml");                    (HPService)context.getBean("hpService");    }}


运行抛出了异常:
Java code
Caused by: org.springframework.beans.InvalidPropertyException: Invalid property 'dao' of bean class [org.mycompany.spring.aop.service.impl.HPServiceImpl]: No property 'dao' found


晕...说找不到'dao'. 我不是定义了吗: private HPDao dao;


[解决办法]
public void setHPDao(HPDao dao)
{
this.dao = dao;
}
<property name="hPDao">
<ref bean="hpDao" />
</property>


setter方法名,去掉前面三个字符,然后第四个字符转成小写。

热点排行