admin
管理员
管理员
  • UID1
  • 粉丝1
  • 关注0
  • 发帖数378
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:523回复:0

org.springframework.beans.factory.BeanCreationException

楼主#
更多 发布于:2015-12-23 08:56
配置文件
<?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">  
   
    <!-- Session公共类 --> 
    <bean id="sessionCookie" class="com.talkweb.ei.common.SessionCookie" 
        scope="prototype">  
        <property name="iQuestionInfodao" ref="questionInfoDaoImpl" />  
    </bean>  
    <bean id="questionInfoDaoImpl" class="com.talkweb.analyseInfo.biz.dao.impl.QuestionsInfoDaoImpl">  
        <property name="sqlMapClient" ref="sqlMapClient"></property>  
    </bean>  
    <bean id="questionsInfoservice" class="com.talkweb.analyseInfo.service.impl.IQuestionsInfoImpl">  
        <property name="iQuestionInfodao">  
            <ref bean="questionInfoDaoImpl" />  
        </property>  
    </bean>  
   
    <bean id="proxyQuestionsInfoService" parent="proxyBean">  
        <property name="target">  
            <ref bean="questionsInfoservice" />  
        </property>  
    </bean>  
   
    <bean name="/QuestionInfo" 
        class="com.talkweb.analyseInfo.web.struts.action.QuestionsInfoAction">  
            <property name="questionInfo">  
            <ref bean="proxyQuestionsInfoService"/>  
        </property>  
    </bean>  
   
</beans>

报错信息:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'questionsInfoservice' defined in ServletContext resource [/WEB-INF/applicationContext-questionsinfo.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'iQuestionInfodao' of bean class [com.talkweb.analyseInfo.service.impl.IQuestionsInfoImpl]: Bean property 'iQuestionInfodao' is not writable or has an invalid setter method. Did you mean 'IQuestionInfodao'?  
Caused by:   
org.springframework.beans.NotWritablePropertyException: Invalid property 'iQuestionInfodao' of bean class [com.talkweb.analyseInfo.service.impl.IQuestionsInfoImpl]: Bean property 'iQuestionInfodao' is not writable or has an invalid setter method. Did you mean 'IQuestionInfodao'?  
    at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:747)  
    at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:604)  
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValue(AbstractPropertyAccessor.java:49)  
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:74)  
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:57)  
    at org.springframework.beans.factory.support.AbstractBeanFactory.applyPropertyValues(AbstractBeanFactory.java:852)  
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054)  
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:843)  
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)  
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:254)  
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)  
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:251)  
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:163)  
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)  
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)  
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:241)  
    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:4135)  
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)  
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1244)  
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1342)  
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)  
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)  
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)  
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)  
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)  
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)  
    at java.lang.Thread.run(Thread.java:619)

questionsInfoservice 里面的IQuestionInfodao是否没有set get方法?
你的 com.talkweb.analyseInfo.service.impl.IQuestionsInfoImpl  这个类里有没有 iQuestionInfodao 这个属性,如果有的话,还必须为它写一个 setter 方法,即
public void setIQuestionInfodao(xxx xxx){xxxxx}

有这个属性  也有些get set方法
我看前面还有报这个错误
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'questionsInfoservice' defined in ServletContext resource [/WEB-INF/applicationContext-questionsinfo.xml]:

是不是这个的bean对象没有创建所以后面的才会报错?
贴出来瞧瞧。顺便把你的这个 bean 的定义贴出来瞧瞧
package com.talkweb.analyseInfo.service.impl;  
   
import java.util.List;  
   
import com.talkweb.analyseInfo.biz.dao.IQuestionsInfoDao;  
import com.talkweb.analyseInfo.service.IQuestionsInfo;  
   
public class IQuestionsInfoImpl implements IQuestionsInfo{  
   
    private IQuestionsInfoDao iQuestionInfodao;  
   
    public List getQuestionsInfo(String structCode) {  
        return this.iQuestionInfodao.getQuestionsInfo(structCode);  
    }  
   
    public IQuestionsInfoDao getIQuestionInfodao() {  
        return iQuestionInfodao;  
    }  
   
    public void setIQuestionInfodao(IQuestionsInfoDao questionInfodao) {  
        iQuestionInfodao = questionInfodao;  
    }  
   
}

你的 iQuestionInfodao这个首字母大小写和配置的不一样吧
你的属性换个名字,第二个字母不要大写,前面的单词小写。然后用工具自动生成get set

 

 

 

 

 

 

 

异常中心网是一家专门收集整理程序员编程过程中遇到的常见异常(exception)以及各种异常问答中心的网站。异常中心网旨在,减少程序员在编码遇到异常,处理各种异常时间和痛苦,让程序员能更愉快的、快速的定位异常并查找对应的异常解决方案。异常中心网诚心打造最完美的编程社区为程序员用户服务,努力成为最好的程序员乐园程序员社区程序异常中心程序bug中心异常问答中心

 

喜欢0 评分0
游客

返回顶部