스프링 부트 사용 시 생략 가능하긴 한데,
@SpringBootApplication
@EnableJpaRepositories(basePackages = "study.datajpa.repository")
public class DataJpaApplication {
public static void main(String[] args) {
SpringApplication.run(DataJpaApplication.class, args);
}
}
저렇게 JpaRepository들 어디에 있는지 경로 써줬어야 했음.
근데 스프링 부트 쓰면 그냥 저 그러니까 스프링 실행하는 곳, 여기 포함 및 하위를 그냥 다 스캔함.
그래서 사실 명시할 필요 없음.
우리가,
public interface MemberRepository extends JpaRepository<Member, Long> {
}
이렇게 하면 구현 클래스를 만들어서 빈으로 등록시켜 준다고 했었다.
memberRepository = class jdk.proxy2.$Proxy116
뭔지 로그로 남겨보았다.
스프링 데이터 JPA가 애플리케이션 로딩 시점에 JpaRepository들 스캔해서 구현해서 빈으로 넣어놓는다.
참고로 @Repository 안 붙여줘도 구현체에 알아서 붙어 있는 듯 하다.
'스프링데이터 + JPA > 스프링 데이터 JPA' 카테고리의 다른 글
8. 공통 인터페이스 분석 (0) | 2023.11.19 |
---|---|
7. 공통 인터페이스 적용 (0) | 2023.11.19 |
5. 순수 JPA 리포지토리 (0) | 2023.11.18 |
4. 예제 도메인 모델 구현 (0) | 2023.11.18 |
3. 스프링 데이터 JPA, DB 설정, 동작 확인 (0) | 2023.11.18 |