org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao'问题

本文介绍了在使用Spring+SpringMVC+Hibernate构建应用时遇到的BeanCreationException错误,主要原因是sessionFactory bean无法正确加载。解决方法包括检查bean.xml中是否正确加载映射文件以及确认映射文件User.hbm.xml的格式无误。通过这些步骤,可以解决此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天通过Spring+springmvc+hibernate搭一个简易的页面,遇到如下问题:

org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'userDao': Injection of resource dependencies failed;
nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'sessionFactory' defined in class path resource
[beans.xml]: Invocation of init method failed; nested exception is
org.hibernate.MappingException: Could not instantiate id generator
[entity-name=bigdata.model.User]

整整用了一个晚上加一个上午才解决。其实也真正是一个小问题罢了。由错误信息知道在bean.xml文件中无法正确加载sessionFactory这个bean,则有两种可能:

1.bean.xml中没加载到映射文件。

解决方法:在sessionFactory中加入

<!-- 映射文件目录位置 -->
<property name="mappingResources">
	<list>
		<value>bigdata/model/User.hbm.xml</value>
	</list>
</property>

2.映射文件User.hbm.xml形式有误,所以无法正确加载。

解决办法:我的User.hbm.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="bigdata.model.User" table="users">
		<id name="id" column="id" type="integer">
			<generator class="increment" />
		</id>
		<property name="name" type="string">
			<column name="name"></column>
		</property>
		<property name="age" type="integer">
			<column name="age"></column>
		</property>
	</class>
</hibernate-mapping>

大概用以上办法能解决相关问题,希望遇到对遇到这种问题的同学有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值