簡體   English   中英

為什么我不能在Spring中使用JavaConfig創建我的數據源?

[英]Why can't I create my Datasource with JavaConfig in Spring?

有人可以告訴我我錯過了什么我試圖在Spring MVC項目中使用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 /憑據錯誤

但是真的沒什么可走的,首先猜測是編譯時問題,第二個是部署時間問題。

編輯:找不到什么符號? 我的猜測是DriverManagerDataSource,因為它不是核心的一部分,它是spring-jdbc的一部分。 另外,不會真的推薦DataSource實現,因為它不是連接池,每次都會創建一個新連接,查看commons-dbcp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM