org.springframework.beans.NotWritablePropertyException
2015-12-14 19:25
645 查看
org.springframework.beans.NotWritablePropertyException异常的问题 [问题点数:50分,结帖人wudi251314]
不显示删除回复显示所有回复显示星级回复显示得分回复
只显示楼主
收藏
关注 wudi251314 wudi251314 本版等级: 结帖率:100% | 楼主发表于: 2008-09-14 12:57:42 异常信息如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/jsp/user' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'dao' of bean class [wudi.cn.struts.action.UserAction]: Bean property 'dao' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? applictionContext.XML代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/mldn"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource"></ref> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <prop key="hibernate.connection.autocommit">true</prop> <prop key="hibernate.show_sql">false</prop> </props> </property> <property name="mappingResources"> <list> <value>wudi/cn/vo/User.hbm.xml</value> </list> </property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> <bean id="iuserdao" class="wudi.cn.dao.IUserDAO" abstract="true"> </bean> <bean id="iuserdaoimpl" class="wudi.cn.impl.IUserDAOImpl" parent="iuserdao"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate" /></property> </bean> <bean name="/jsp/user" class="wudi.cn.struts.action.UserAction"> <property name="dao"> <ref bean="iuserdaoimpl" /> </property> </bean> </beans> UserAction代码如下: /* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package wudi.cn.struts.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.actions.DispatchAction; import wudi.cn.dao.IUserDAO; import wudi.cn.struts.form.UserForm; import wudi.cn.util.MD5Code; import wudi.cn.vo.User; /** * MyEclipse Struts * Creation date: 09-08-2008 * * XDoclet definition: * @struts.action path="/user" name="userForm" input="/form/user.jsp" parameter="status" scope="request" validate="true" */ public class UserAction extends DispatchAction { /* * Generated Methods */ private IUserDAO dao=null; /** dao属性已经在这定义了 * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward register(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { UserForm userForm = (UserForm) form; // 先判断验证码是否正确 String ccode = (String) request.getSession().getAttribute("ccode"); String checkcode = userForm.getCheckcode(); if (!(checkcode.equals(ccode))) { ActionMessages errors = new ActionMessages(); errors.add("checkcode", new ActionMessage("checkcode.error")); super.saveErrors(request, errors); return mapping.getInputForward(); } // 如果正确,则需要向数据库中插入 User user = null; try { user = this.dao.queryByUserid(userForm.getUserid()); if (user == null) { MD5Code md5 = new MD5Code(); user = new User(); user.setUserid(userForm.getUserid()); user.setUserpwd(md5.getMD5ofStr(userForm.getUserpwd())); user.setUserques(userForm.getUserques()); user.setUserans(userForm.getUserans()); // System.out.println("** " + userForm.getUserques()); user.setSex("男"); user.setGrade(1); // 查询此用户是否存在 this.dao.register(user); // 成功之后要将用户名和用户等级保存在session之中 request.getSession().setAttribute("userid", user.getUserid()); request.getSession().setAttribute("grade", user.getGrade()); return mapping.findForward("registersuccess"); } else { ActionMessages errors = new ActionMessages(); errors.add("exist", new ActionMessage("user.userid.exist")); super.saveErrors(request, errors); return mapping.getInputForward(); } } catch (Exception e) { e.printStackTrace(); return mapping.findForward("registerfailure"); } } public IUserDAO getDao() { return dao; } public void setDao(IUserDAO userdao) { this.dao = userdao; } setter/gettter方法在这已经定义了 可是还报错 } 请各位帮忙解决一下 谢谢了 更多2分享到: <iframe frameborder="0" src="http://tpc.googlesyndication.com/safeframe/1-0-2/html/container.html#xpc=sf-gdn-exp-1&p=http%3A//bbs.csdn.net" id="google_ads_iframe_/8456/IDG.CN_B2B_csdn.net_0" name="1-0-2;78719;<div id=adunit><div id=ads ><ul><li id=taw0 class="taw taw0" lang="zh-cn"><div class="rh"><table><tr><td class="rh1c"><div class="rh1"><table><tr><td class="rh10c"><div class="rh-box-title rh-title rh10 collapsed-box"><a target=_blank class="rhtitle rhdefaultcolored" href="http://www.googleadservices.com/pagead/aclk?sa=L&ai=CAhoGY6NuVsqiNoaD9gWk872wAazk8doHzI3ErIwCwI23ARABINvPvRdgncnggegFoAHkypHDA8gBAakCxhOtM8DHhD7gAgCoAwHIA5sEqgSPAU_Qi7075DJFEmutbLJCtSnDIYuE5Ahkyo0VlI_TOgbZuUZErV2X5Pgm_Kq-s9C-jCiE2m6aThg_DGvLtPQHQIuDvGiGXtrXorO9GBu8qKEPlTnlIfCVpatNrs_uH4faKVyoJ4fAInpa9b9uBW45XlGOqBYC3huL-D7ob3aYbG3eK858I0lbOe4U6G8g0zfU4AQBiAYBgAeEte48qAemvhvYBwE&num=1&cid=5GjgSBsblBatFQKgFjjyBWFR&sig=AOD64_0RTsIvwQruuApETpAJyl35ewqSkQ&client=ca-pub-7443704194229694&adurl=http://www.jiankongbao.com" target=_blank title="www.jiankongbao.com"><span>比开源软件更好用的监控服务</span></a></div></td></tr><tr><td class="rh11c"><div class="rh-box-url rh-url rh11"><div class="rhurlctr rhdefaultcolored rhurlctr_nowrap rhurlctr_clickable" dir="ltr"><a target=_blank class="rhurl rhdefaultcolored" title="jiankongbao.com" href="http://www.googleadservices.com/pagead/aclk?sa=L&ai=CAhoGY6NuVsqiNoaD9gWk872wAazk8doHzI3ErIwCwI23ARABINvPvRdgncnggegFoAHkypHDA8gBAakCxhOtM8DHhD7gAgCoAwHIA5sEqgSPAU_Qi7075DJFEmutbLJCtSnDIYuE5Ahkyo0VlI_TOgbZuUZErV2X5Pgm_Kq-s9C-jCiE2m6aThg_DGvLtPQHQIuDvGiGXtrXorO9GBu8qKEPlTnlIfCVpatNrs_uH4faKVyoJ4fAInpa9b9uBW45XlGOqBYC3huL-D7ob3aYbG3eK858I0lbOe4U6G8g0zfU4AQBiAYBgAeEte48qAemvhvYBwE&num=1&cid=5GjgSBsblBatFQKgFjjyBWFR&sig=AOD64_0RTsIvwQruuApETpAJyl35ewqSkQ&client=ca-pub-7443704194229694&adurl=http://www.jiankongbao.com" target="_blank"><span>jiankongbao.com</span></a></div></div></td></tr><tr><td class="rh13c"><div class="rh-body rh-box-body rh13"><span class="rhbody rhdefaultcolored">比Nagios、Cacti更好用的监控软件 免费试用 有意外惊喜</span></div></td></tr></table></div></td></tr></table></div><div id=abgc class=abgc dir='ltr'><div id=abgb class="abgb"></div><div id=abgs class=abgs><a target=_blank id=abgl class=abgl href="https://www.google.com/url?ct=abg&q=https://www.google.com/adsense/support/bin/request.py%3Fcontact%3Dabg_afc%26url%3Dhttp://bbs.csdn.net/topics/270003732%26gl%3DCN%26hl%3Dzh%26client%3Dca-pub-7443704194229694%26ai0%3DCAhoGY6NuVsqiNoaD9gWk872wAazk8doHzI3ErIwCwI23ARABINvPvRdgncnggegFoAHkypHDA8gBAakCxhOtM8DHhD7gAgCoAwHIA5sEqgSPAU_Qi7075DJFEmutbLJCtSnDIYuE5Ahkyo0VlI_TOgbZuUZErV2X5Pgm_Kq-s9C-jCiE2m6aThg_DGvLtPQHQIuDvGiGXtrXorO9GBu8qKEPlTnlIfCVpatNrs_uH4faKVyoJ4fAInpa9b9uBW45XlGOqBYC3huL-D7ob3aYbG3eK858I0lbOe4U6G8g0zfU4AQBiAYBgAeEte48qAemvhvYBwE&usg=AFQjCNHgCO2GxZk8QprOd2dp2mkwogn4BQ" target=_blank></a></div></div><div id="cbc" class=cbc ><div id="cb-x" class=cb-x></div> </div> <div id="ddmc" style="display:none"><div class="tip"></div><div class="dropdown-content"><table><tr><td><div id="pubmute" style="border-bottom:1px solid #999;" class="dropdown-item"><span>广告覆盖了页面</span></div></td></tr><tr><td><div id="admute" class="dropdown-item"><span>举报此广告</span></div></td></tr></table></div></div></li></ul></div><div class=ads_chrome_top></div><div class=ads_chrome_bottom></div><div class=ads_chrome_left></div><div class=ads_chrome_right></div></div><iframe scrolling="no" frameborder=0 height=0 width=0 src="http://cm.g.doubleclick.net/push?client=ca-pub-7443704194229694" style="position:absolute"></iframe>感谢您的反馈! 撤消此广告有什么问题?重复显示内容不当不相关感谢您的反馈! 返回我们将对此广告进行审核,以便改善用户在今后的体验。感谢您的反馈! 撤消我们会根据您的反馈审核此网站上的广告。即将关闭广告:%1$d 秒 相关文章推荐
|