728x90
JavaConfig 설정- 스프링 부트 사용 시 생략 가능

SpringDataJPA가 구현 클래스 대신 생성
개발자가 구현한 것이 없는데 대체 주업되는 것은 무엇일까?



System.out.println("memberRepository = "+memberRepository.getClass());
- interface를 보고 SpringDataJpa가 만들어 주입시킨다.
- org.springframework.data.repository.Repository를 구현한 클래스는 스캔 대상
- MemberRepository 인터페이스가 동작한 이유
- 실제 출력해보기(Proxy)
- memberRepository.getClass() class com.sun.proxy.$ProxyXXX
- @Repository 애노테이션 생략 가능
- 컴포넌트 스캔을 스프링 데이터 JPA가 자동으로 처리
- JPA 예외를 스프링 예외로 변환하는 과정도 자동으로 처리
공통 인터페이스 적용
순수 JPA에서 동작하던 기능들을 SpringData JPA에서 동작시켜보자.

- 기존 순수 JPA 기반 테스트에서 사용했던 코드를 그대로 SpringDataJPA Repository 기반 테스트로 변경해도 동일한 방식으로 동작
728x90
'실전! 스프링 데이터 JPA' 카테고리의 다른 글
| Ch03. 쿼리 메소드 기능 - 메소드 이름으로 쿼리 생성 (0) | 2021.12.26 |
|---|---|
| Ch02. 공통 인터페이스 기능 - 공통 인터페이스 분석 (0) | 2021.12.25 |
| Ch02. 공통 인터페이스 기능 - 순수 JPA 기반 리포지토리 만들기 (0) | 2021.12.25 |
| Ch01. 프로젝트 환경 설정 - 스프링 데이터 JPA와 DB 설정, 동작확인 (0) | 2021.12.24 |
| Ch01. 프로젝트 환경 설정 - H2 데이터베이스 설치 (0) | 2021.12.24 |