无法初始化sessionFactory。春天的Hibernate 3

时间:2011-10-23 12:55:28

标签: java hibernate spring maven

这是我的ApplicationContext.xml。由于这个错误,我无法运行我的程序:

线程“main”中的异常org.springframework.beans.factory.BeanCreationException:在类路径资源[ApplicationContext.xml]中定义的名称为'sessionFactory'的bean创建错误:bean的实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.springframework.orm.hibernate3.LocalSessionFactoryBean]:构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError

我必须说HibernateVoc扩展了HibernateDaoSupport。我查看了几个网页,寻找如何使用HibernateDaoSupport,这些是初始化sessionFactory的正确属性......我没有设法解决问题。

谢谢你们!

<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.gjt.mm.mysql.Driver" />
<property name="url" value="jdbc:mysql://localhost/voc" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="datasource" />
<property name="mappingResources">
    <list>
        <value>com/ju/voc/domain/words/Word.hbm.xml</value>
        <value>com/ju/voc/domain/categroies/Category.hbm.xml</value>
    </list>
</property>
<property name="hibernateProperties">
    <props>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    </props>
</property>
</bean>
<bean id="hibernateVoc" class="com.ju.voc.data.HibernateVoc">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

P.S。我正在使用Maven,所以我从那里下载库。

2 个答案:

答案 0 :(得分:6)

你缺少对休眠的依赖。

因为spring-orm工件handles ORM using plain Hibernate, JPA, JDO and iBatis(并且几乎没有任何意义使用它们),所有这些依赖性都是marked as optional,这意味着你必须引用依赖关系。你的pom.xml。以下是如何引用最新稳定版本的hibernate核心:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>3.6.7.Final</version>
</dependency>

答案 1 :(得分:3)

您获得的异常(java.lang.NoClassDefFoundError)意味着您忘记在应用程序中包含库jar。尝试深入分析日志跟踪,找到缺少的类,以包含适当的jar。可能你错过了hibernate依赖。