Failed to determine a suitable driver class 에러 발생


스프링을 실행시켰더니
"Failed to determine a suitable driver class" 에러가 발생했다
Spring Boot 프로젝트에서 기존에 applicationContext.xml을 사용하여 MySQL DataSource를 정의해두었고,
JSP 로그인 폼을 만들어 Controller와 연동하려고 시도했다
실행 시 위와 같은 DataSource 관련 오류 발생했다
로그를 보면, Spring Boot가 JdbcTemplate를 초기화하면서 MySQL 드라이버를 찾지 못했다는 것을 알 수 있었다
원인
에러 메시지를 자세히 보면 핵심은 다음과 같습니다.
1. Spring Boot가 자동 DataSource 설정(auto-configuration) 을 시도
2. XML에 정의한 BasicDataSource는 Spring Boot가 자동으로 처리하는 HikariCP보다 늦게 등록
3. 자동 설정 과정에서 url, driver-class-name 정보를 못 찾아 HikariDataSource 생성 실패
즉, Spring Boot AutoConfiguration과 기존 XML 설정이 충돌한 것이 원인입니다.
또한, JSP 관련 설정(spring.mvc.view.prefix/suffix)이나 XML 파일 경로는 문제가 아니었습니다.
해결 방법 : XML 제거, Spring Boot 표준 방식 사용
XML 대신 application.properties에 MySQL 연결 정보를 넣어 자동 설정 사용
# MySQL JDBC 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/teemo
spring.datasource.username=root
spring.datasource.password=1234
# JSP 설정
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
- Spring Boot가 자동으로 HikariDataSource + JdbcTemplate 생성
- XML 없이 바로 동작
- JSP, Controller, JdbcTemplate 연동 모두 정상
'에러&문제해결' 카테고리의 다른 글
| Spring Boot에서 404 (Whitelabel Error Page) 발생 원인과 해결 과정 정리 (0) | 2026.01.29 |
|---|---|
| Spring : UnsatisfiedDependencyException 에러 원인과 해결 과정 (0) | 2026.01.28 |
| eclipse 톰캣 경로 (다른 컴퓨터에서 톰캣 에러 날 때) (0) | 2026.01.02 |
| 세션에 없는 값 : "javax.servlet.http.HttpSession.getAttribute(String)" is null (0) | 2025.12.31 |
| 카카오 API | 엔드포인트 문제 해결! (0) | 2025.12.31 |