【发布时间】:2019-12-21 00:23:11
【问题描述】:
我的 Spring Boot 应用中有以下类:
@Configuration
public class JDBCTokenConfig {
...
@Value("${spring.datasource.driver-class-name}")
private String dbDriverClassName;
@Bean
public DataSource dataSource() {
final DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(dbDriverClassName);
dataSource.setUrl(datasourceUrl);
dataSource.setUsername(dbUsername);
dataSource.setPassword(dbPassword);
return dataSource;
}
我的 pom.xml 中还有以下内容:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
在我的 application.properties 我有:
...
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
但我看到以下错误:
Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.cj.jdbc.Driver]
这是正确的驱动器类路径吗?还是别的什么?
【问题讨论】:
-
您不需要 dataSource.setDriverClassName(dbDriverClassName)。只需将其与@Value 一起注释掉
-
谢谢。我尝试删除 setDriverClassName ,它似乎也可以正常工作。太好了,代码少了:)
标签: spring-boot jdbc