21

我试图做一些基本的数据库操作。我正在使用 STS 3.2.0、Apache Tomcat 7。

我的 dispatcher-servlet.xml 包括:

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

Apache Tomcat 惨遭失败,出现数千个异常,从这个开始:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.jdbc.datasource.DriverManagerDataSource] for bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.DriverManagerDataSource
Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.jdbc.datasource.DriverManagerDataSource] for bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.DriverManagerDataSource

这些是我的图书馆定义

编辑 1:我还下载了 jar 的 3.0.3.RELEASE 版本,它仍然是一样的。

最终编辑看来,您也应该手动将外部 jar 文件添加到部署目录中(如果您不使用任何可以为您执行此操作的扩展名)

4

3 回答 3

50

尝试添加到 POM.xml:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>3.0.3.RELEASE</version>
</dependency>
于 2013-05-10T08:56:10.350 回答
0

我认为您应该将选定的 jdbc jar 导入 Web 应用程序库。

于 2013-05-10T08:37:58.147 回答
0

如果上述解决方案都不起作用,则手动将 spring-jdbc jar 文件添加到 webapp/WEB-INF/lib。

于 2018-06-14T19:15:13.090 回答