작성
·
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
가 바로 그 역할을 해주고 있습니다.
이렇게 컴포넌트 스캔을 사용하지 않고, 직접 빈을 등록한 덕분에 예제에서 다양한 리포지토리 구현체를 변경할 수 있었습니다.
감사합니다.