[SpringBoot] 마이바티스 Failed to load ApplicationContext, Error creating bean with name 'someMapper' 오류

dondonee·2024년 3월 31일
0

문제

java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@6a1ef65c ...]

테스트용 application.properties를 분리하다가 ApplicationContext를 로드할 수 없다는 오류가 발생했다.


Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.knou.board.config.MyBatisConfig' ...

내가 만든 마이바티스 설정 클래스인 MyBatisConfig의 빈과 그 안에 있는 PostMapper 빈을 생성할 수 없다고 한다.



해결 ✅

datasource:
  #url: jdbc:h2:mem:testdb
  url: jdbc:h2:tcp://localhost/~/testonly

임베디드 모드(인메모리 방식) 대신 TCP를 사용하는 서버 모드로 바꿔준다. (이전 포스팅 참고 : 🔗 H2 데이터베이스)

참고로 H2 데이터베이스가 추가된 스프링 부트에서 데이터소스 설정하지 않으면 스프링 부트는 기본적으로 임베디드 모드(인메모리 데이터베이스, username = sa, 비어있는 패스워드)로 연결한다. 따라서 데이터소스 설정이 비어있는 경우에도 임베디드 모드로 연결되어 이 오류가 발생할 수 있다. ( 🔗 [Baeldung] Spring Boot With H2 Database )

0개의 댓글