1. JavaConfig 설정 - 스프링부트 사용시 생략 가능
- @SpringBootApplication 위치를 지정하면, 해당 패키지와 하위 패키지 자동인식
- 만약 위치가 달라질경우 @EnableJpaRepositories 어노테이션 적용
2. 구현 클래스 생성
- repository는 인터페이스일 뿐인데 구현체는 누가 생성해주는걸까?
- 개발자가 직접 작성할 필요 없이 Spring Data JPA가 구현 클래스를 대신 만들어줌
- org.springframework.data.repository.Repository 를 구현한 클래스는 스캔 대상
- 실제 출력을해보면 Proxy 클래스가 생성된 것을 확인할 수 있음
- memberRepository.getClass() class com.sun.proxy.$ProxyXXX
- @Repository 어노테이션도 생략 가능
- 컴포넌트 스캔 대상을 Spring Data JPA가 자동으로 처리해줌