gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:29:41 25 4
gpt4 key购买 nike

有人可以告诉我我缺少什么吗?我正在尝试在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com