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

spring的有关问题,

2011-12-31 
spring的问题,急.......错误如下:Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.

spring的问题,急.......
错误如下:
Exception   sending   context   initialized   event   to   listener   instance   of   class   org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException:   Error   creating   bean   with   name   'personRegisterDAO '   defined   in   ServletContext   resource   [/WEB-INF/config/Common_Member_Spring.xml]:   Error   setting   property   values;   nested   exception   is   org.springframework.beans.NotWritablePropertyException:   Invalid   property   'queryPersonUserSql '   of   bean   class   [com.pkgame.common.member.dao.impl.PersonRegisterDAO]:   Bean   property   'queryPersonUserSql '   is   not   writable   or   has   an   invalid   setter   method:   Does   the   parameter   type   of   the   setter   match   the   return   type   of   the   getter?
org.springframework.beans.NotWritablePropertyException:   Invalid   property   'queryPersonUserSql '   of   bean   class   [com.pkgame.common.member.dao.impl.PersonRegisterDAO]:   Bean   property   'queryPersonUserSql '   is   not   writable   or   has   an   invalid   setter   method:   Does   the   parameter   type   of   the   setter   match   the   return   type   of   the   getter?
at   org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:670)
at   org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:572)
at   org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:737)
at   org.springframework.beans.BeanWrapperImpl.setPropertyValues(BeanWrapperImpl.java:764)
at   org.springframework.beans.BeanWrapperImpl.setPropertyValues(BeanWrapperImpl.java:753)
at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1057)
at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:378)
at   org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
at   org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
at   org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)
at   org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:313)
at   org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
at   org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at   org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at   org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at   org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at   org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at   org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at   org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)


at   org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at   org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
at   org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
at   org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at   org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at   org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at   org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at   org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at   org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at   org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at   org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at   org.apache.catalina.core.StandardService.start(StandardService.java:450)
at   org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at   org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)
at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at   java.lang.reflect.Method.invoke(Method.java:585)
at   org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at   org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)


PersonRegisterDAO文件如下:

public   class   PersonRegisterDAO   implements   IPersonRegisterDAO{
private   IUserRegister   userRegister;

private   JdbcTemplate   jdbcTemplate;

private   String   insertPersonSql;

private   String   queryPersonUserSql;

private   KeyGenerator   keyGenerator;

public   KeyGenerator   getKeyGenerator()   {
return   keyGenerator;
}

public   void   setKeyGenerator(KeyGenerator   keyGenerator)   {
this.keyGenerator   =   keyGenerator;
}

public   PersonUser   getPersonUserInfoByUserId(String   userid)
{
List   userInfoList   =   this.jdbcTemplate.queryForList(queryPersonUserSql,
new   Object[]   {   userid   });

if   (userInfoList.size()==1){
return   (PersonUser)userInfoList.get(0);
}   else   {
return   null;
}

}

public   String   getInsertPersonSql()   {
return   insertPersonSql;
}

public   void   setInsertPersonSql(String   insertPersonSql)   {
this.insertPersonSql   =   insertPersonSql;
}

public   JdbcTemplate   getJdbcTemplate()   {
return   jdbcTemplate;
}

public   void   setJdbcTemplate(JdbcTemplate   jdbcTemplate)   {
this.jdbcTemplate   =   jdbcTemplate;
}

public   IUserRegister   getUserRegister()   {
return   userRegister;
}

public   void   setUserRegister(IUserRegister   userRegister)   {
this.userRegister   =   userRegister;
}

public   String   getQueryPersonUserSql()   {
return   queryPersonUserSql;
}

public   void   setQueryPersonUserSql(String   queryPersonUserSql)   {


this.queryPersonUserSql   =   queryPersonUserSql;
}
}

spring配置文件中相关段:
<bean   id= "personRegisterDAO "   class= "com.pkgame.common.member.dao.impl.PersonRegisterDAO ">
<property   name= "jdbcTemplate ">
<ref   bean= "jdbcTemplate "   />
</property>
<property   name= "keyGenerator ">
<ref   bean= "keyGenerator "   />
</property>
<property   name= "insertPersonSql ">
<value>
INSERT   INTO   USER_PERSONALINFO(PERSONALID,REGISTERID,GENDER,REALNAME,IDTYPE,IDCARD,HOMEADDRESS,WORKADDRESS,POSTCODE,CONTACTPHONE1,CONTACTMOBILE1,CONTACTPHONE2,CONTACTMOBILE2,CONTACTPHONE3,CONTACTMOBILE3,EMAIL,QQ,MSN,OTHERCHAT,DESCRIPTION)
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
</value>
</property>

<property   name= "queryPersonUserSql ">
<value> SELECT   *   FROM   USER_PERSONALINFO   WHERE   REGISTERID= '? ' </value>
</property>
</bean>


不知道什么问题.调试了一天了.


[解决办法]
可能是配置文件错了.
看看帮助文档.好像要用
<list>
<property ...>
</property>
</list>
[解决办法]
你把单引号转义一下试试

热点排行