반응형
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


반응형
Posted by FeliZ_하늘..
,