반응형
🔗 참고자료
- mybatis 공식문서<매퍼주입> => 링크
- 블로그 <연어 좋아하는 개발자> => 링크
- 블로그 <Eseak> => 링크
- 블로그 <하진쓰의 사이버기술블로그> => 링크
- 블로그 <당근당근이> => 링크
✍ 공부하게 된 계기
마이바티스를 세팅하면서 매퍼주입을 하지 않아서 어플리케이션의 시작이 중단되었습니다.
블로그를 보고 쉽게 해결은 했지만, MapperScan이 무엇인지 조금 더 살펴보기로 했습니다.
❗ 에러
- Mapper로 지정한 파일들을 찾지 못하고 그냥 어플리케이션이 종료된다.
- Mapper Interface를 스프링 빈으로 주입받아야 DB에 접근이 가능한데 처리를 안해놔서 생긴 문제였다.
🔍 해결한 방법
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan(value = {"com.example.bbakmemo.mapper"})
@SpringBootApplication
public class BbakmemoApplication {
public static void main(String[] args) {
SpringApplication.run(BbakmemoApplication.class, args);
}
}
- value에 적혀있는 곳에 @Mapper 어노테이션이 붙은 인터페이스만 Mapper로 로드가 된다.
- @MapperScan 어노테이션은 mapper.xml 파일들이 바라볼 기본 패키지 위치를 지정해 줍니다.
=> 모든 마이바티스 애플리케이션은 SqlSessionFactory 인스턴스를 사용합니다.
이후 빈을 생성하여 sessionFactory에 Mapper의 위치를 지정해 줍니다.
반응형