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 )