인프런 커뮤니티 질문&답변

박해빈님의 프로필 이미지
박해빈

작성한 질문수

스프링 DB 2편 - 데이터 접근 활용 기술

MyBatisItemRepository와 MybatisConfig

작성

·

294

0

MyBatisItemRepostiory에서 @Repostiory와 @RequiredArgsConstructor을 통해서 스프링빈으로 등록하고 ItemMapper와 의존관계를 주입했잖아요

근데 MYBatisConfig에서 다시MybatisConfig에 ItemMapper의존관계를 주입하는 이유가 뭔가요?

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 박해빈님

다음 코드를 보시면 컴포넌트 스캔의 위치를 변경해서 MyBatisItemRepostiory를 컴포넌트 스캔하지 않는 것을 확인할 수 있습니다.

@SpringBootApplication(scanBasePackages = "hello.itemservice.web")
public class ItemServiceApplication {

   public static void main(String[] args) {
      SpringApplication.run(ItemServiceApplication.class, args);
   }
}

따라서 MyBatisItemRepostiory@Repostiory가 있어도 컴포넌트 스캔의 대상이 되지 않습니다.

이렇게 되면 ItemMapper를 직접 주입해야겠지요?

MyBatisConfig가 바로 그 역할을 해주고 있습니다.

이렇게 컴포넌트 스캔을 사용하지 않고, 직접 빈을 등록한 덕분에 예제에서 다양한 리포지토리 구현체를 변경할 수 있었습니다.

감사합니다.

 

박해빈님의 프로필 이미지
박해빈

작성한 질문수

질문하기