@MapperScan(basePackages = {"com.naver.reserve.dao.mapper"})
@MapperScan annotation을 명시해 준 class는 basePackages로 지정한 곳에 존재하는 @Mapper로 명시된 interface를 스캔한다.
com.naver.reserve.* 이나 com.naver.reserve 이렇게만 적으면 제대로 스캔하지 않고 에러 발생한다..
이것 때문에 엄청난 삽질을 경험할 수 있었드아, 꼭 기억하자!!
해결하는 과정 속에서 spring 계층 구조에 대해 심도있게 고민할 수 있는 시간이었다.
그 동안 dao, mapper를 기계적으로 만들기만 하고 분석하지 않았던 나를 반성한다. dao, mapper가 각각 다른 역할 인줄 알았는데 db에 access 한다는 측면은 동일하다는 것!. 장단점을 파악하고 선택가능한 계층인 듯 하다.
참고 링크 :
twofootdog.github.io/Spring-DAO%EC%99%80-Mapper%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90/
linux.systemv.pe.kr/mybatis%EC%97%90-dao-%EC%99%80-mapper/
'삽질 정리' 카테고리의 다른 글
Mapstruct 활용시 Collection 매핑 방법 (0) | 2022.02.06 |
---|---|
src/main/generated 폴더내 class 파일 초기화 안되는 경우 (0) | 2021.10.26 |
MySQL Server 설치할 때 Failed 뜰 경우 (0) | 2020.04.27 |
스프링 프로젝트를 AWS로 배포할 때 중요 체크 사항 (0) | 2020.03.07 |
프로젝트 실행시 import한 라이브러리가 엉키는 경우 (0) | 2019.01.16 |