我有一个名为 appConfig.xml 的 spring XML 配置文件,其中包含一个数据源 bean 和另一个 JDBC 模板,数据源作为参数传递给该模板:
<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: Property 'dataSource' 抛出异常;嵌套异常是 java.lang.IllegalArgumentException: Property 'dataSource' is required
从我从这个错误中看到的,它无法将 dataSource 传递给 JDBCTemplate。日志还说:
加载的JDBC驱动:com.mysql.jdbc.Driver
我在 pom.xml 中提到了所有依赖项,并且我验证了 spring 所需的 jar 已加载,并且 mysql jdbc 连接器也已加载。关于问题可能是什么的任何线索?
我尝试了一个不同的项目,在其中手动添加了所有 spring 依赖项和 mysql jdbc 连接器作为库的一部分。它在那里工作得很好。但是在尝试通过 pom.xml 包含依赖项时,我遇到了这个问题。所以我假设这与一些没有被引入的依赖或其他东西有关。但无法从错误中找出哪一个。