这是我的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,所以我从那里下载库。
答案 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依赖。