• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

MyBatisItemRepository와 MybatisConfig

23.04.25 16:59 작성 조회수 232

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가 바로 그 역할을 해주고 있습니다.

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

감사합니다.