Project2021

[Spring] (mybatis-spring) @Repository로 proxy자동생성.

뱅타 2021. 6. 9. 22:55

프로젝트를 하던 중 문득 MemberDao에 대한 의문이 들었습니다.

Spring에서 interface로 Inject를 받게 된다면 @Component와 같은 어노테이션으로 등록된 빈들에 대해 클래스를 검색합니다.

그런데 아래의 이미지와 같이 MemberDao는 interface이면서 따로 bean에 등록된 구현체 클래스가 존재하지 않습니다.

그래서 궁금함에 이리저리 살펴보다가 결국 질문해서 답을 얻게 되었습니다.

아래와 같이 bean에 해당 dao에 @Repository라고 등록한 녀석들에 한해서 mybatis-spring이 내부적으로 등록된 xml들의 namespace들을 검색 후 같은 이름을 가진 녀석들에게 proxymapper를 생성해 줍니다.

이러한 과정을 거쳐서 MemberDao 구현체가 존재하지 않아도 되는 것이었습니다.

728x90
반응형