IT&컴퓨터
[Spring Boot/Mybatis] 오류 해결 - java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
푸드듥
2024. 1. 16. 09:52
반응형
1. 문제
Spring Boot와 Mybatis를 활용한 앱을 실행했더니 아래와 같은 오류가 났다.
java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
코드에 문법 상 틀린 것은 하나도 없다. 뭐가 잘못 됐을까?
2. 해결
위는 Spring Boot와 Mybatis 버전이 호환되지 않아서 발생하는 오류이다.
호환되는 버전은 아래 Mybatis 깃허브 페이지에서 확인할 수 있다.
https://github.com/mybatis/spring-boot-starter/releases
나의 경우 Spring Boot는 3.2.1버전, Mybatis는 3.0.2버전을 사용 중이었다.
위 사이트에서 mybatis-spring-boot-3.0.2를 찾아보니 "Support Spring Boot 3.1"라고 적혀 있다.
Mybatis 3.0.2는 Spring Boot 3.1을 지원한다는 건데, 나는 Spring Boot 3.2를 쓰고 있으니 호환이 안 되는 것이다.
Spring Boot 3.2 버전을 지원하는 Mybatis 버전을 찾아봤다.
오늘 기준으로 최신 버전이라고 되어 있는 mybatis-spring-boot-3.0.3을 보니
"Update to MyBatis Spring 3.0.3-SNAPSHOT for supporting Spring Boot 3.2"라고 한다.
Mybatis 버전을 3.0.3으로 바꿔주고, 제대로 인식되도록 프로젝트 파일을 닫았다 다시 열고 앱을 실행했더니
오류가 말끔히 해결되었다!
// pom.xml
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.1</version>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
반응형