1

警告:新手警告!

我正处于学习 Spring 的早期阶段,正在尝试启动并运行我的第一个应用程序,它只会从数据库中读取一些数据并显示它。

我正在使用 SpringSource Tool Suite 2.8.0.RELEASE。我创建了一个新的 Spring MVC 项目并想从本地 MySQL 数据库中读取一些数据。

我写了一个简单的 DAO 类:

package com.blah.blah;

import org.springframework.jdbc.core.support.JdbcDaoSuppo rt;

public class MyDAO extends JdbcDaoSupport {

我已将此添加到 pom.xml 文件中:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>

我已将此添加到 root-context.xml(这是要更新的正确配置文件吗?):

<bean id="myDataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/dbname" />
    <property name="username" value="root" />
    <property name="password" value="mypw" />
</bean>

<bean id="jdbcTemplate"
    class="org.springframework.jdbc.core.JdbcTemplate" >
    <constructor-arg ref="myDataSource"></constructor-arg>
</bean>

<bean id="parentDAO"
    class="org.springframework.jdbc.core.support.JdbcD aoSupport">
    <property name="dataSource" ref="myDataSource"></property>
</bean>

当我右键单击项目并选择 Debug As > Debug On Server 我得到错误:

24-Mar-2012 16:13:42 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of 
class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.CannotLoadBeanClassException:
 Cannot find class [org.springframework.jdbc.datasource.DriverManagerDataSource] 
for bean with name 'myDataSource' defined in ServletContext resource 
[/WEB-INF/spring/root-context.xml]; nested exception is 
java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.DriverManagerDataSource

我已经看了一段时间了,无法弄清楚我做错了什么。我找到了应用程序部署到的文件夹(C:\Program Files\springsource\vfabric-tc-server-developer-2.6.1.RELEASE\spring-insight-instance\wtpwebapps\MyAppName\WEB-INF\lib在我的机器上)并且 lib 文件夹包含 spring-jdbc-3.1.0.RELEASE.jar 并且当我打开它时,我可以看到 DriverManagerDataSource 类文件,所以我不知道为什么会出现上述错误。

非常感谢任何建议。

4

4 回答 4

0

检查 Spring 库是否在类路径中,以便它们可用于服务器。

于 2012-03-24T17:46:49.463 回答
0

我在项目中包含了两次相同的 jar 文件。删除了一个,它工作。

于 2012-03-25T20:33:14.390 回答
0

我在 Eclipse 中遇到了同样的问题,创建一个新的工作区解决了这个问题。

于 2012-12-13T08:32:58.960 回答
0

我添加了所需的 jar 源而不是发布。奇怪但将其更改为发布版本解决了这个问题。

于 2014-09-09T10:21:28.583 回答