2011-10-23 24 views
3

これは私のApplicationContext.xmlです。sessionFactoryを初期化できません。 SpringのHibernate 3

スレッド "main"の例外org.springframework.beans.factory.BeanCreationException:クラスパスresource [ApplicationContext.xml]に 'sessionFactory'という名前のBeanを作成中にエラーが発生しました。エラーが発生しました。 :Beanのインスタンス化に失敗しました。ネストされた例外はorg.springframework.beans.BeanInstantiationExceptionある:Beanクラスをインスタンス化できませんでした[org.springframework.orm.hibernate3.LocalSessionFactoryBean]:コンストラクタが例外をスローしました。ネストされた例外がjava.lang.NoClassDefFoundErrorが

私はHibernateVocがHibernateDaoSupportを拡張すると言わなければならないです。私はHibernateDaoSupportの使い方を探していくつかのWebページを見てきましたが、これらはsessionFactoryを初期化するための正しいプロパティです...私は問題を解決する方法を管理していません。 y'allの

ありがとう!

<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(と、それはほとんどないそれらすべてを使用することは理にかなって)、これらのdepenenciesのすべては、あなたがあなたのpom.xmlに依存関係を参照するために持っていることを意味し、marked as optionalあるため。 hibernate coreの最新の安定版を参照する方法は次のとおりです。

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

は、アクションとJava 6 EEに関するその他のいずれかで春を有しているにも関わらず、私は私が休止状態の依存関係が含まれている必要があることを読んでいた...私は最初のiBATISを試してみましたが、私は今、休止状態にしようと私よ非常に多くの混乱と、多くのバージョンとXMLファイルと、同じものを構成するさまざまな方法のために立ち向かうことはできません...私はこれが非常に強力であることを知っていますが、最初は混乱しています。私は、Javaフレームワークを学ぶために正しいことをやっているのかどうかわかりません...どうしましたか? – honnix

+0

@honnixは試しましたが、失敗しました。もう一度試しました:-) –

3

あなたは(java.lang.NoClassDefFoundErrorが)得た例外は、アプリケーション内のライブラリjarファイルを含めるのを忘れていることを意味します。適切なjarを含めるために、ログトレースを詳細に分析し、欠落しているクラスを見つけてください。おそらく、あなたは休止状態の依存関係を見逃していました。

+0

私はpom.xml:junit、mysql、およびorg.springframweorkに依存関係として設定しました。それは残っていますか? – honnix

+3

Hibernateがありません。 Hibernateを使用するには、Hibernateが必要です。 、すべてのように簡単だった –

関連する問題