작성
·
67
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
를 붙일 필요 없이, 지정된 패키지의 모든 매퍼를 한 번에 등록할 수 있습니다.
관련된 기존 답변을 참고하시면 보다 확실한 이해를 하실 수 있습니다. 다음 링크에서 자세한 설명을 확인해보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.