0

データソース Bean と、データソースが引数として渡される別の JDBCtemplate を含む appConfig.xml という Spring XML 構成ファイルがあります。

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    <property name="url" value="jdbc:mysql://localhost:3306/test"/>
</bean>

<bean id="JDBCTemplate" class="com.myprojects.JDBCTemplate">
    <property name="dataSource" ref="dataSource"/>
</bean>

エラーが発生します:

スレッド「メイン」での例外 org.springframework.beans.factory.BeanCreationException: ファイル [appConfig.xml] で定義された名前 'JDBCTemplate' の Bean の作成中にエラーが発生しました: プロパティ値の設定中にエラーが発生しました。ネストされた例外は org.springframework.beans.PropertyBatchUpdateException; です。ネストされた PropertyAccessExceptions PropertyAccessException 1: org.springframework.beans.MethodInvocationException: プロパティ 'dataSource' が例外をスローしました。ネストされた例外は java.lang.IllegalArgumentException: プロパティ 'dataSource' が必要です

このエラーからわかることから、dataSource を JDBCTemplate に渡すことができません。ログには次のようにも書かれています。

読み込まれた JDBC ドライバー: com.mysql.jdbc.Driver

pom.xml に記載されているすべての依存関係があり、Spring に必要な jar がロードされ、mysql jdbc コネクタもロードされていることを確認しました。問題が何であるかについての手がかりはありますか?

すべての春の依存関係と mysql jdbc コネクタをライブラリの一部として手動で追加した別のプロジェクトを試しました。そこでうまくいきました。しかし、pom.xml を介して依存関係を含めようとしているときに、この問題に直面しています。したがって、これは、何らかの依存関係が取り込まれていないことなどに関係していると思います。しかし、エラーからどれを把握することができません。

4

1 に答える 1

3

あなたのクラスにJDBCTemplateは名前のプロパティがないと考えていますdataSource

setDataSource()おそらく、適切な型の引数を 1 つ持つパブリック メソッドがありません。

プライベートなのかもしれません。

おそらく、それは間違って綴られています。

于 2013-07-24T18:02:25.850 に答える