java - 为什么我不能在 Spring 中使用 JavaConfig 创建我的数据源?

标签 java mysql spring maven spring-mvc

有人可以告诉我我缺少什么吗?我正在尝试在 Spring MVC 项目中使用 JavaConfig 来设置以下数据库,但我无法设置驱动程序类、用户、密码等?

谁能告诉我为什么

@Bean
public DataSource dataSource() {

    DataSource ds = new DriverManagerDataSource();
    try {
        ds.setDriverClass("com.mysql.jdbc.Driver");
        ds.setUser("jboss");
        ds.setPassword("xoJ4u0Hs");
        ds.setJdbcUrl("jdbc:mysql://6dhdbm01/jboss1");
    } catch (Exception e) {
        logger.error(e.getMessage());
    }
    return ds;
}

我修复了它:我必须将代码更改为:

@Bean
    public DataSource dataSource() {

         // com.mchange.v2.c3p0.ComboPooledDataSource ds = new com.mchange.v2.c3p0.ComboPooledDataSource();

        BasicDataSource ds = new BasicDataSource();


        try {

            /*

            This was old code for using C3P0 Database pooling
            ds.setDriverClass("com.mysql.jdbc.Driver");
            ds.setUser("jboss");
            ds.setPassword("xoJ4u0Hs");
            ds.setJdbcUrl("jdbc:mysql://6dhdbm01/jboss1");
            */

            ds.setDriverClassName("com.mysql.jdbc.Driver");
            ds.setUsername("jboss");
            ds.setPassword("xoJ4u0Hs");
            ds.setUrl("jdbc:mysql://6dhdbm01/jboss1");

        } catch (Exception e) {
            logger.error(e.getMessage());
        }
        return ds;
    }

但是我收到这个错误..我是不是在 maven pom.xml 中遗漏了什么

java.lang.ClassNotFoundException: org.apache.commons.pool.impl.GenericObjectPool

最佳答案

我的猜测:

  • 您正在导入 javax.activation.DataSource 而不是 javax.sql.DataSource
  • com.mysql.jdbc.Driver 不在类路径中
  • URL/凭据错误

但确实没有什么好解决的,首先猜测是编译时间问题,其次是部署时间问题。

编辑: 找不到什么符号?我的猜测是 DriverManagerDataSource 因为它不是核心的一部分,它是 spring-jdbc 的一部分。此外,不会真正推荐 DataSource 实现,因为它不是连接池,它每次都会创建一个新连接,查看 commons-dbcp

关于java - 为什么我不能在 Spring 中使用 JavaConfig 创建我的数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16111331/

相关文章:

java - EC2 : How can I get the Vpc ID of an Instance?

java - 使用ajax将数据发送到java servlet

mysql - "From"多个表,然后 "LEFT JOIN"另一个表

java - Spring Integration Http 休息服务

spring - Spring 型材的替代品

java - 使用 hibernate 连接和分页复制记录

java - 直接从 HTTP 服务器上的 JAR 本身运行 java applet

android - 如何上传 mysql 数据库控制 Android 应用程序所需的 php 文件

MySQL 查询返回每个结果的倍数

java - 成功注入(inject) Spring bean 上的 NullPointerException