ItemMapper가 자동으로 빈으로 등록되는 이유
291
작성한 질문수 8
[질문 내용]
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으로 자동 등록되지 않는 이슈와 그 원인에 대해 설명하고 있습니다. 참고하시면 도움이 될 것 같습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
RepositoryTest의 패키지 위치가 domain인 이유
0
30
2
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
30
1
update()에 사용하는 setter 질문드립니다.
0
47
1
SQL 중심적 개발의 문제점에 대한 질문
0
72
1
혹시 Containing 을 안쓰신 이유가 있을까요?
0
83
2
[공유] 스프링부트 4.x 버전 mybatis 연동
0
174
1
@repository 어노테이션
0
89
3
ItemService
0
58
1
논리 커밋, 물리 커밋 질문드립니다.
0
54
1
내부 트랜잭션 커밋은 필수인가요?
0
57
1
프록시 커넥션 객체를 반환할 때 생성하는건가요?
0
54
1
Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)
2
178
2
JPQL 대신 네이티브 쿼리를 사용해야 하는 경우
0
77
1
@EventListener(ApplicationReadyEvent.class) 관련
0
88
1
트랜잭션 동기화 매니저와 데이터 소스
0
76
1
DB 관련 강의 개설 계획은 없으신건가요?
0
133
2
물리 트랜잭션 과 논리트랜잭션 용어를 맞게 이해한걸까요
0
94
1
스프링 3 버전 이상 rollbackFor 변경된듯요
1
112
1
트랜잭션 전파 질문.
0
87
1
프로젝트 오픈 에러
0
126
1
외부 트랜잭션에서 isNewTransaction이 false로 나오는거에 대해 질문드립니다
0
83
2
같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환
0
72
1
h2 인메모리 테스트중 예약어 충돌날 경우 대처방법
0
102
1
커스텀aop와 트랜잭션을 같이 사용할때 우선순위에 관한 질문
0
98
2





