为什么可以';我不能在Spring中使用JavaConfig创建数据源吗?

为什么可以';我不能在Spring中使用JavaConfig创建数据源吗?,java,mysql,spring,maven,spring-mvc,Java,Mysql,Spring,Maven,Spring Mvc,有人能告诉我我遗漏了什么吗?我正试图在SpringMVC项目中使用JavaConfig来设置以下数据库,但我无法设置driverClass、用户、密码等 有人能告诉我为什么吗 @Bean public DataSource dataSource() { DataSource ds = new DriverManagerDataSource(); try { ds.setDriverClass("com.mysql.jdbc.Driver"); d

有人能告诉我我遗漏了什么吗?我正试图在SpringMVC项目中使用JavaConfig来设置以下数据库,但我无法设置driverClass、用户、密码等

有人能告诉我为什么吗

@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/凭据错误
但实际上并没有太多需要解决的问题,第一个猜测是编译时问题,第二个猜测是部署时问题

编辑:
找不到什么符号?我猜是DriverManager数据源,因为它不是core的一部分,而是SpringJDBC的一部分。另外,我不建议使用数据源实现,因为它不是一个连接池,每次都会创建一个新的连接,查看发生了什么,抛出异常,注入失败等等。需要更多信息=)否此代码将不会生成!它可以找到,setDriveClass,setUser,等等,发布构建错误。祝你好运,享受Spring=)他得到
找不到符号
,这意味着
数据源
类中没有这样的方法或字段,所以这可能是第一个。我解决了这个问题,请参阅上面的好工作,在我们引导您找到解决方案的过程中,您能接受这个答案吗?为了让它脱离未回答的标签,请?您没有给我答案!我仍然有一个问题,在maven中添加commons dbcp作为依赖项,如果您不使用maven,则将commons dbcp和commons池添加到您的类路径中。