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

kshlove735님의 프로필 이미지
kshlove735

작성한 질문수

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

MyBatis 적용2 - 설정과 실행

ItemMapper가 자동으로 빈으로 등록되는 이유

작성

·

16

0

[질문 내용]
ItemMapper가 자동으로 빈으로 등록되는 이유가 뭔가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. kshlove735님.

Spring에서 Mapper 인터페이스를 자동으로 빈으로 등록하는 과정에 대해 궁금해 하시는 것 같습니다. MyBatis의 Mapper는 XML 파일을 통해 SQL을 정의하고, 구현체를 제공받아 사용하는 방식입니다.

일반적으로, 스프링 애플리케이션에서 MyBatis와 같은 ORM(Object Relational Mapping) 라이브러리를 사용할 때, Mapper 인터페이스에 대해 별도의 구현체를 작성하지 않아도 되는 이유는 MyBatis가 해당 인터페이스를 동적으로 구현하여 Spring 컨테이너에 빈으로 등록할 수 있도록 지원하기 때문입니다.

여기서 중요한 설정으로는 @Mapper 또는 @MapperScan 애노테이션이 있습니다.

  • @Mapper 애노테이션은 각 인터페이스에 직접 부착하여 MyBatis가 해당 인터페이스를 매퍼로 인식하도록 하는 방법입니다.

  • @MapperScan 애노테이션은 매퍼 인터페이스가 있는 패키지를 자동으로 스캔하여 MyBatis에 필요한 설정을 자동으로 등록하는 데 사용됩니다. 이 애노테이션을 이용하면 각 인터페이스에 개별적으로 @Mapper를 붙일 필요 없이, 지정된 패키지의 모든 매퍼를 한 번에 등록할 수 있습니다.

관련된 기존 답변을 참고하시면 보다 확실한 이해를 하실 수 있습니다. 다음 링크에서 자세한 설명을 확인해보세요:

  • ItemMapper Bean: 이 게시물에서는 MyBatisConfig에서 ItemMapper가 bean으로 자동 등록되지 않는 이슈와 그 원인에 대해 설명하고 있습니다. 참고하시면 도움이 될 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

kshlove735님의 프로필 이미지
kshlove735

작성한 질문수

질문하기