错误:Error creating bean with name 'servicesref' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Error setting property values;
除了applicationContext.xml代码中property name大小写和实力类中对应外,还要有get,set方法。否则依然报错
applicationContext.xml
<!-- 配置hibernateTemple -->
<bean id="hibernateTemple" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 将hibernateTemple注入到daoImpl里面 -->
<bean id="udaoimplref" class="dao.ProvincesDao">
<property name="hibernateTemplate" ref="hibernateTemple"></property>
</bean>
<bean id="servicesref" class="service.ProvincesService">
<property name="provinDao" ref="udaoimplref"></property>
</bean>
<bean id="uactionref" class="action.ProvincesAction">
<property name="ps" ref="servicesref"></property>
</bean>
ProvincesAction类
public class ProvincesAction extends Provinces {
ProvincesService ps = new ProvincesService();//和配置文件对应ps属性。包括大小写
public String getAll(){
List list = ps.getAll();
session.put("list", list);
System.out.println(list.size());
return Action.SUCCESS;
}
public ProvincesService getPs() {//必须生成get,set方法。否则报上面的错误。
return ps;
}
public void setPs(ProvincesService ps) {
this.ps = ps;
}
}
ProvincesService类
public class ProvincesService {
ProvincesDao provinDao = new ProvincesDao();
public List getAll(){
List list = new ArrayList();
try {
list = provinDao.getAll();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return list;
}
public List getChrilden(int parentId){
List list = new ArrayList();
try {
list = provinDao.queryByParentId(parentId);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return list;
}
public ProvincesDao getProvinDao() {
return provinDao;
}
public void setProvinDao(ProvincesDao provinDao) {
this.provinDao = provinDao;
}
}
以前用myeclipse就没有生成set,get方法,没有报错,但是现在用的eclipse就报错,必须有get,set方法。不知道是什么原因。还希望知道的可以指点下。再次先谢过了