问题描述
启动tomcat时,一启动就报错,希望大家给予解释错误信息是:org.springframework.beans.factory.parsing.BeanDefinitionParsingException:Configurationproblem:UnexpectedfailureduringbeandefinitionparsingOffendingresource:classpathresource[applicationContext.xml]Bean'userInfoDao';nestedexceptionisorg.springframework.beans.factory.parsing.BeanDefinitionParsingException:Configurationproblem:<property>elementforproperty'sessionFactory'mustspecifyareforvalueOffendingresource:classpathresource[applicationContext.xml]Bean'userInfoDao'->Property'sessionFactory'
解决方案
解决方案二:
框架整合启动服务器出现错误首先要想到jar包查看下jar是否有重复的jar包或者没有用到的jar包另外就要注意看你的jar包中的META-INF目录下是不是有这两个文件:spring-handlers及spring-schemas!
解决方案三:
框架报错一般只能看一个大概,一般情况下是你的配置文件错误会引发错误或者你的jar包发生冲突或者不完整。
解决方案四:
<propertyname="sessionFactory"><reflocal="mySessionFactory"/>你缺少的部分</property>
解决方案五:
要为sessionFactory注入一个实例
解决方案六:
我是第一次用Struts2,jar包都是拷过来的,应该没问题,META-INF下也没有那两个文件
解决方案七:
还要为sessionFactory注入一个实例,我怎么没这样写过啊
解决方案八:
感觉你的sessionFactory有问题..你把配置文件代码贴上来吧..
解决方案九:
写上实例后还是报错,错误也变了org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:Line51inXMLdocumentfromclasspathresource[applicationContext.xml]isinvalid;nestedexceptionisorg.xml.sax.SAXParseException:cvc-id.1:ThereisnoID/IDREFbindingforIDREF'mySessionFactory'.
解决方案十:
看看applicationContext.xml中的Bean“userInfoDao”相关配置
解决方案十一:
<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.0.xsd"><!--注入--><beanid="userInfoDao"class="com.src.lf.dao.impl"><propertyname="sessionFactory"></property></bean><beanid="userInfoBiz"class="com.src.lf.biz.Impl"><propertyname="userInfoDao"ref="userInfoDao"></property></bean><beanid="userInfoAction"class="com.src.lf.action"><propertyname="userInfoBiz"ref="userInfoBiz"></property></bean><beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><propertyname="configLocation"value="classpath:hibernate.cfg.xml"></property><propertyname="sessionFactory"><reflocal="mySessionFactory"/></property></bean><!--配置事务管理器--><beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><propertyname="sessionFactory"ref="sessionFactory"/></bean><!--配置事物的传播特性--><tx:adviceid="txAdvice"transaction-manager="transactionManager"><tx:attributes><tx:methodname="*"propagation="REQUIRED"/></tx:attributes></tx:advice><aop:config><aop:pointcutid="allManagerMethod"expression="execution(*com.src.lf.dao.impl.*.*(..))"/><aop:advisoradvice-ref="txAdvice"pointcut-ref="allManagerMethod"/></aop:config></beans>
解决方案十二:
类咋还有小写开头的。。
解决方案十三:
mySessionFactory在哪里指定了?<beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><propertyname="configLocation"value="classpath:hibernate.cfg.xml"></property><propertyname="sessionFactory"><reflocal="mySessionFactory"/></property>感觉写法很奇怪
解决方案十四:
类是大写啊,注入的时候不是给了一名字吗?
解决方案十五:
mySessionFactory是楼上一位朋友说是给是sessionFactory注入一个实例,其实我也没见过
解决方案:
............
解决方案:
<beanid="userInfoDao"class="com.src.lf.dao.impl"><propertyname="sessionFactory"></property></bean><beanid="userInfoBiz"class="com.src.lf.biz.Impl"><propertyname="userInfoDao"ref="userInfoDao"></property></bean>local=mySessionFactory或ref=mySessionFactory指本地引用或引用,右面是beanid,没有这个bean,咋引用啊。即使是spring自带的,也得导啊
解决方案:
class="com.src.lf.dao.impl这不是小写吗?还是我错了。。
解决方案:
这是包名啊,也有问题
解决方案:
class="",右面是类的完全名吧
解决方案:
啊,我都没写,赶紧写上,谢了啊
解决方案:
<beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><propertyname="configLocation"value="classpath:hibernate.cfg.xml"></property><propertyname="sessionFactory"><reflocal="sessionFactory"/></property></bean>这样就匹配上了
解决方案:
又有问题了,这是什么啊org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'userInfoDao'definedinclasspathresource[applicationContext.xml]:Cannotresolvereferencetobean'sessionFactory'whilesettingbeanproperty'sessionFactory';nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sessionFactory'definedinclasspathresource[applicationContext.xml]:Invocationofinitmethodfailed;nestedexceptionisorg.hibernate.MappingException:couldnotinstantiateidgenerator[entity-name=com.src.lf.pojo.Userinfo]
解决方案:
<beanid="userInfoDao"class="com.src.lf.dao.impl"><propertyname="sessionFactory"><reflocal="sessionFactory"/></property></bean>
解决方案:
<propertyname="sessionFactory"><reflocal="mySessionFactory"/></property>这个去掉
解决方案:
就愁!!!!!
解决方案:
去掉了啊!
解决方案:
报的这错和实体类有关吗?
解决方案:
lz你去下载个spring2.5的中文参考手册吧,很好理解的。
解决方案:
奥,那这问题怎么办,我做的东西啊
解决方案:
还有你要理解spring,他帮你组装应用,而hibernate的sessionFactory只读取hibernate的cfg文件。所以按你上述写法,sessionFactory只set注入文件位置就可以了吧,下面那个去掉。spring的hibernate配置很灵活,少啥来啥呗,还有别写错单词,这样很麻烦
解决方案:
恩恩恩,铭记在心,谢谢啊,万分感谢!!
解决方案:
那个手册仔细看看,手册看起来很快,只看springorm配置那块,还有你要理解依赖注入,少啥来啥!
解决方案:
百度或者谷歌一下Hibernate+Spring+Struts2+ExtJS开发CRUD功能参考着来就好的多了!
解决方案:
恩,好的!!
解决方案:
1楼2楼纯属混分的,3楼才是真正看了错误原因给出解决方案的。
解决方案:
一起讨论么!!!