异常 java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource

2024-01-29

我正在尝试将 spring 和 Hibernate 与 mysql 集成。我创建了一个简单的 java 项目和一个包含 3 个类的包、一个应用程序 context.xml 文件和一个用于映射的 hbm.xml。但执行后,我得到这个错误:

Error:

Sep 17, 2014 1:27:49 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'd' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'template' while setting bean property 'template'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'template' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'mysessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mysessionFactory' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at com.javaspringhibernate.InsertTest.main(InsertTest.java:14)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'template' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'mysessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mysessionFactory' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
    ... 10 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mysessionFactory' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
    ... 20 more
Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1281)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:435)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
    ... 30 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
    at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:416)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1273)
    ... 36 more

这是员工.java file

package com.javaspringhibernate;

public class Employee {  
    private int id;  
    private String name;  
    private float salary;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getSalary() {
        return salary;
    }
    public void setSalary(float salary) {
        this.salary = salary;
    }
    public Employee() {
        super();
        // TODO Auto-generated constructor stub
    }  

    //getters and setters  


    }  

这是插入测试.java

package com.javaspringhibernate;

import org.springframework.beans.factory.BeanFactory;  
import org.springframework.beans.factory.xml.XmlBeanFactory;  
import org.springframework.core.io.ClassPathResource;  
import org.springframework.core.io.Resource;  

public class InsertTest {  
public static void main(String[] args) {  

    Resource r=new ClassPathResource("applicationContext.xml");  
    BeanFactory factory=new XmlBeanFactory(r);  

    EmployeeDao dao=(EmployeeDao)factory.getBean("d");  

    Employee e=new Employee();  
    e.setId(114);  
    e.setName("megha");  
    e.setSalary(50000);  

    dao.saveEmployee(e);  

}  
}  

这是EmployeeDao.java

package com.javaspringhibernate;

import org.springframework.orm.hibernate3.HibernateTemplate;  

public class EmployeeDao {  
HibernateTemplate template;  
public void setTemplate(HibernateTemplate template) {  
    this.template = template;  
}  

public void saveEmployee(Employee e){  
    template.save(e);  
}  

public void updateEmployee(Employee e){  
    template.update(e);  
}  

public void deleteEmployee(Employee e){  
    template.delete(e);  
}  
}  

这是员工.hbm.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">


<hibernate-mapping>  
<class name="com.javaspringhibernate.Employee" table="emp558">  
          <id name="id">  
          <generator class="assigned"></generator>  
          </id>  

          <property name="name"></property>  
          <property name="salary"></property>  
</class>  

</hibernate-mapping>

这是应用程序上下文.xml

?xml version="1.0" encoding="UTF-8"?>
<beans  
    xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:p="http://www.springframework.org/schema/p"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans   
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/userdb" />
    <property name="username" value="root" />
    <property name="password" value="root" />

</bean> 

    <bean id="mysessionFactory"  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
        <property name="dataSource" ref="dataSource"></property>  

        <property name="mappingResources">  
        <list>  
        <value>employee.hbm.xml</value>  
        </list>  
        </property>  

        <property name="hibernateProperties">  
            <props>  
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>  
                <prop key="hibernate.hbm2ddl.auto">update</prop>  
                <prop key="hibernate.show_sql">true</prop>  

            </props>  
        </property>  
    </bean>  

    <bean id="template" class="org.springframework.orm.hibernate3.HibernateTemplate">  
    <property name="sessionFactory" ref="mysessionFactory"></property>  
    </bean>  

    <bean id="d" class="com.javaspringhibernate.EmployeeDao">  
    <property name="template" ref="template"></property>  
    </bean>  

</beans>  

你的问题是Caused by: java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource on "dataSource" bean.

如果使用maven添加这个依赖

<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.2.2</version>
</dependency>

否则添加这个库公共 dbcp-jar http://central.maven.org/maven2/commons-dbcp/commons-dbcp/1.2.2/commons-dbcp-1.2.2.jar在你的类路径中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

异常 java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource 的相关文章

随机推荐

  • 标题和元标签未在服务器中的角度 SSR 中呈现

    我在前端使用 Angular 6 开发了一个网站 默认情况下 Angular 对 SEO 不友好 因此为了做到这一点 我以 Angular Universal 或 Angular SSR 服务器端渲染 的方式实现它 我更新了代码并比较了之前
  • “SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED”和视图

    如果你设置SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED在从具有从多个表中进行复杂选择的视图中进行选择的存储过程中 这个位置READ UNCOMMITTED该视图中所有表的事务隔离级别 Th
  • 使用 Javascript 读取 CSV 标头

    我有一个 csv 文件 其标题如下所示 header1 header2 header3 header4 value1 value2 value3 value4 value1 value2 value3 value4 value1 value
  • 同步三个ajax请求

    我有三个 AJAX 请求相继触发 并且我希望能够同时回显所有数据 ajax type POST url page1 php data var1 var1 success function msg results2 load page2 ph
  • Android Facebook SDK SSO“无法显示您请求的页面”

    我一整天都被这个非常令人沮丧的问题困扰 通过 Google 我发现很多人都有同样的问题 但没有与新的 Android 版 Facebook API 相关的答案 我已完全按照此处列出的步骤进行操作 https developers faceb
  • Yii 嵌套设置到下拉菜单

    I m using Yii nested set behavior which helps me to keep my categories nested as seen here nevermind title rows they are
  • 如何为当前平台使用适当的颜色类别?

    我试图在 iOS 和 OS X 之间共享我的 Scene Kit 代码 但接受颜色 和图像 的 API 调用采用 UIColor UIImage 或 NSColor NSImage 具体取决于平台 如何在 Swift 中创建正确的类而不重复
  • Node 中数千个并发 http 请求

    我有一个包含数千个 URL 的列表 我想通过 http 请求进行健康检查 healt php 这是我的问题 我在节点中编写了一个应用程序 它以集中的方式发出请求 我使用一个变量来控制打开的并发连接数 300 即 一个接一个 每个请求都那么快
  • js 文件中的 php WordPress

    在 js 文件中 我需要获取 WordPress 主题的模板目录 即我需要获取以下值的返回值在 js 文件中 这个想法是这样的 var blogTemplateDir 如何才能实现这一目标 执行此操作的标准 Wordpress 方法是什么
  • 拥有多个步骤文件会打开多个浏览器

    问题 如果我有多个 Steps 文件 当我执行测试时 似乎无论我运行哪个测试 都会为每个 Steps 文件创建 WebDriver 每当我运行测试时 我都会看到一个看似随机的 Chrome 浏览器打开 为了查看 SpecFlow 和 Chr
  • 如何替换已在 Java 中打印在屏幕上的文本?

    我是 Java 新手 为了了解更多信息 我尝试制作一个时钟 它工作得很好 除了每次更改时它都会在新行上打印这一事实之外 我该如何制作才能用新时间替换已经打印出来的文本 public class test public static void
  • 当边缘用 jQuery 显示时停止拖动

    这是该网站的链接 战争游戏地图 http game creeight se 我有一个大的 jQuery 可拖动 div 将地图图像设置为背景 里面有一个较小的 div 上面有溢出 隐藏 重点是让用户像在maps google com 上一样
  • 绘制距原点 X 公里的路线

    跑步 步行距离显示 用户输入位置和距离 我可以以用户输入的距离为半径覆盖一个圆 以用户的位置为中心点 我可以在用户设置的距离处围绕原点设置四个基点 N S E W 并绘制到这些点的路线 这样 B 点距 A 点 100 公里 但映射的路线是
  • 如何优化以下代码

    颜色和尺寸是使用 django 中的 GET 方法从 URL 获取的 颜色和大小是复选框输入 并作为 view py 文件中的列表接收 https i stack imgur com abQ9Z png 我正在使用颜色和尺寸属性过滤我的产品
  • 在 R 中取消列出列,同时将字符(0)保留为空字符串

    我对 R 比较陌生 我有一个数据框 其中有一列存储为列表 我的专栏包含c Benzo Ferri or character 0 如果它是空的 我怎样才能将它们更改为简单的Benzo Ferri并用空字符串代替字符 0 例如 我无法df ge
  • Hyper-V W10(主机)Ubuntu 18.04(访客):为什么增强会话模式不起作用?

    我已使用 Hyper V 在 Windows 10 主机系统上安装了 Ubuntu 18 04 作为来宾系统 并且我想在全屏模式下使用来宾系统 据我所知 要调整屏幕大小 我需要在增强会话模式下运行来宾系统 如果我连接到访客系统 它既不允许我
  • python 错误 AttributeError: 'str' 对象没有属性 'setdefault'

    我正在尝试使用此命令运行 django 项目 python manage py runserver 8080 但每次我尝试运行时都会遇到这样的错误 Traceback most recent call last File manage py
  • 如何孵化PolyCollection实例?

    是否可以孵化 PolyCollection 实例 我想要从 fill Betweenx 返回一个 PolyCollection import matplotlib mlab as mlab from matplotlib pyplot im
  • Java,解析我知道为空的 JSON 对象

    我有一个 JSON 对象数组 为了解析这些数组并存储简单的数据类型值 我必须假设键名称并相应地存储它们 我还知道有时键的值将为空 例子 promotion null 我将如何解析这个 如果我尝试访问值为 null 的键 则会收到 JSONE
  • 异常 java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource

    我正在尝试将 spring 和 Hibernate 与 mysql 集成 我创建了一个简单的 java 项目和一个包含 3 个类的包 一个应用程序 context xml 文件和一个用于映射的 hbm xml 但执行后 我得到这个错误 Er