[Spring] Failed to determine a suitable driver class 오류 해결 방법
개요
Spring 애플리케이션을 실행하는 동안 "Failed to determine a suitable driver class" 오류가 발생하는 이유와 이를 해결하는 방법을 알아보자. 이 오류는 JDBC dependency가 추가된 상태에서 dataasource를 설정해주지 않았을 때 발생하며, 주로 애플리케이션의 설정 파일에서 드라이버 클래스를 찾지 못할 때 나타난다.
오류 상황
Spring의 다양한 기본 환경 설정을 완료한 프로젝트 zip 파일을 제공하는
사이트에서 프로젝트를 생성하여 실행한 결과
Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'dataSource' defined in class path resource
[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]:
Failed to instantiate [com.zaxxer.hikari.HikariDataSource]:
Factory method 'dataSource' threw exception with message:
Failed to determine a suitable driver class
이러한 오류를 마주하였다.
반응형
해결 방법
1. DB를 구축한다
2. application.properties에 DB 설정 정보를 아래와 같이 추가해준다.
# DB
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/csv_data?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&requireSSL=false&serverTimezone=Asia/Seoul&allowMultiQueries=true
spring.datasource.username=[데이터베이스 유저 이름]
spring.datasource.password=[데이터베이스 암호]
3. BUILD SUCCESSFUL 메시지와 함께 미소를 짓는다.
참고
위 datasource 설정의 spring.datasource.driver-class-name 부분을 보면
com.mysql.cj.jdbc.Driver로 설정되어있다.
기존에는 com.mysql.jdbc.Driver를 썼으나 mysql-connector-java 6 이후로 deprecated 됐다
com.mysql.cj.jdbc.Driver를 쓰게 되면 다음과 같은 오류 메시지를 받는다.
The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
com.mysql.cj.jdbc.Driver를 쓰도록 한다.
'Spring' 카테고리의 다른 글
[Spring] UnsatisfiedDependencyException: Error creating bean with name '...' defined in URL 에러 해결법 (0) | 2022.12.06 |
---|---|
[Spring] GET과 POST의 차이점 (0) | 2021.08.19 |
[Spring] 유저별로 메뉴 다르게 보이기 (0) | 2021.06.29 |
[Spring] Mybatis collections 파라미터 여러개 사용 시 주의점 (2) | 2021.06.28 |
[Spring] MyBatis resultMap collection 사용법 (0) | 2021.06.18 |
댓글