Chat 상우

Spring boot 3.0.0 AND 3.2.0 Mybatis 연동 문제 본문

Framework/spring

Spring boot 3.0.0 AND 3.2.0 Mybatis 연동 문제

chat-rilla 2023. 11. 26. 22:03

안녕하세요 IT 강사 chat상우 입니다.

오류가 있는 부분은 피드백 해주시면 감사하겠습니다.

 

이슈 내용

2주뒤 진행될 Spring boot + mybatis를 위해 소스코드 확인을 하려고 하였는데 spring boot 버전이 업데이트 되면서 기존에 수업을 하는 2.7.x 버전 생성이 안되는 문제가 발생되었다. 신규 버전 다운 후 gradle에서 명시적으로 버전을 다운그레이드 하는 것을 고려하였지만 temurin jdk를 사용하기로 마음먹고 3.2.0으로 버전을 업데이트 하고자 하였는데 Spring boot 3.0.0 AND 3.2.0에서 MyBatis Spring Boot Starter추가 안되는 문제가 있었다.

바로 JPA로 넘어가는 것은 처음 공부를 하는 입장에서 좋지 않다고 생각을 하기 때문에 이를 해결하기 위해 험난한 여정을 떠나게 되었다. (결국 버전 찾음)


Spring boot 3.0.0 ~ 3.2.x Mybatis 기본 지원 안함

이슈를 확인하면서 다운그레드를 해야하나 고민하였지만 그냥 maven에서 lib를 임포트 하면될 것이라 생각을 하고 모듈을 추가하였지만 Bean을 찾을 수 없다는 오류가 발생되었다.

 

최초 오류 

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of constructor in DAO required a bean of type 'java.lang.String' that could not be found.


Action:

Consider defining a bean of type 'java.lang.String' in your configuration.


Process finished with exit code 0

 

두 번째 오류

Parameter 0 of constructor in com.ohgiraffers.secutiry.user.service.impl.AuthServiceImpl required a bean of type 'com.ohgiraffers.secutiry.user.dao.UserMapper' that could not be found.

해결과정

이를 해결하기 위해서 mybatis docs를 확인하게 되었는데 독스에서는 다음과 같은 내용을 전달하고 있었다.

Spring 팀에서 Mybatis3.x 버전을 릴리즈 하기 이전에 spring boot 3.x 버전을 먼저 업데이트 후 개발을 종료하였고 3.0 ~ 3.2버전에서 릴리즈를 지원하기 않고 있다는 내용이였다.

MybatisDocs

 

그러나 의지의 한국인 포기하지 않고 문제를 해결하고자 Mybatis github를 확인하고 여기서 해결책을 찾을 수 있었다.

Mybatis Github 바로가기

위 링크는 GitHub의 issues를 확인할 수 있는 곳으로 이슈 제목을 확인하니 다음과 같았다.

mybatis github issue

이를 확인하고 Maven Repository에서 Spring Boot Starter 3.0.3을 추가하여 확인하니 문제없이 잘 동작이 되었다.

 

maven Repository 바로가기

 implementation group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '3.0.3'

마치며

확인을 해보니 3.0.x를 다 사용할 수 있는 것 같으나 아직 사용성이 적어서 안정화 여부는 확인해야 할 것으로 보인다.
작업을 하면서 문법적인 오류나 기타 문제는 없으나 실제 배포 환경에서 사용하기 위해서는 안정성을 확인하길 바란다.

'Framework > spring' 카테고리의 다른 글

spring Dispatcher Servlet 구조 및 동작원리  (1) 2023.12.07