반응형
Mapper interface 를 패키지 하나에 전부 몰아주고
basePackage 속성의 값을 패키지로 주면 되긴 하지만
업무별로 Controller, Service, Repository, Mapper 를
한 패키지에 몰아서 프로젝트를 구성 할 경우
basePackage 를 상위 패키지로 주면 어떤 interface 가 mapper 인지 알 수 없기 때문에
basePackage 속성만으론 불가능해진다
Mapper 를 auto injection 받기 위해 이것저것 해보다가
MapperScannerConfigurer 를 까보니 markerInterface 라는 프로퍼티와
annotationClass 라는 프로퍼티가 보여서 이것저것 해봤다
markerInterface 를 사용하는 방법은 이것저것 해보다가 실패했고
annotationClass 로 하는 방법만 성공했다
MyBatis 설정하는 xml 파일에다가 아래를 추가
비어있는 어노테이션 자바파일 추가
그러면 이제 @Service 에서 mapper 에 @Autowired 를 걸어서 사용이 가능하다
사용 예
TestMapper.java
TestServiceImpl.java
반응형