본문 바로가기
Web (~2022.06)/Spring boot

[Spring boot] [에러 해결] typeAlias란?

by wanggoNya 2022. 6. 4.

에러 메시지

java.lang.NoSuchMethodException: com.example.board.mapper.BoardMapper. <init>()

 

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating interface com.example.board.mapper.BoardMapper with invalid types () or values (). Cause: java.lang.NoSuchMethodException: com.example.board.mapper.BoardMapper.<init>()

 

예상해보자면 com.example.board.mapper.BoardMapper를 객체화하는데에서 에러가 난 것 같다.

에러 원인

1. mapper.xml에서 value 개수 부족

2. config.xml 에서 typeAlias 등록 실수

 

에러 해결

<typeAliastype="com.example.board.domain.vo.BoardVO"alias="boardVO"/>

<typeAliastype="com.example.board.mapper.BoardMapper"alias="boardVO"></typeAlias>

로 수정했다.

 

typeAlias란? 

- 자바 타입에 대한 간단한 짧은 이름이다.

- xml 설정과 관계가 있다.

- 클래스 풀 네임을 타이핑하는 수고를 덜어주기 위해 존재한다.

- 이렇게 typeAlias로 등록하면 주소가 쓰일 수 있는 곳 어디라도 사용이 가능하다.

- mybatis가 찾을 빈이 있는 패키지를 기술할 수 있다. 

 


번외

팀원 에러도 해결해줌

프로젝트 파이팅


[ Reference ] 

204. 타입알리아스(typeAlias) (tistory.com)