[ 김영한 스프링 데이터 JPA #2 ] 공통 인터페이스 기능

김수호·2024년 6월 2일
0
post-thumbnail

스프링 데이터 JPA 를 사용하기 위해서는 다음과 같은 사전 작업을 진행해 주어야 한다.

  • 의존관계 추가
    • implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
  • 공통 인터페이스 설정
    • 스프링 부트를 사용하는 경우는 이 작업을 따로 할 필요 없다. 스프링 부트를 사용하면 @SpringBootApplication 이 위치한 패키지와 그 하위 패키지를 자동으로 인식한다.
      • org.springframework.data.repository.Repository 를 구현한 클래스는 스캔 대상.
      • 스프링 데이터 JPA 는 org.springframework.data.repository.Repository 를 구현한 클래스를 스캔한 후, 프록시 기술을 사용해서 구현 클래스를 대신 생성해준다. 그리고 만든 구현 클래스를 스프링 빈으로 등록한다.
      • 따라서 개발자는 구현 클래스 없이 인터페이스만 만들면 JpaRepository 가 제공하는 기능을 모두 사용할 수 있게 된다. ( 아래 참고 )

 

스프링 데이터 JPA 주요 기능
( 공통 인터페이스 기능, 쿼리 메서드 기능 )

  • 공통 인터페이스 기능
    • 스프링 데이터 : JPA 뿐만 아니라 mongo, redis 등 다양한 곳에서도 공통으로 사용하기 위해 정의된 공통 프로젝트이다.
    • 스프링 데이터 JPA : JPA 에 특화된 기능들을 제공한다.
    • 참고) 위 인터페이스에 정의된 메서드를 보면, 기본적인 CRUD 와 관련된 명세가 모두 정의되어 있는 것을 확인할 수 있다.
    • 참고) 만약 CrudRepository 인터페이스를 상속받는 경우, JpaRepository 에서 제공하는 기능은 사용할 수 없다.

 

다음 내용부터는 쿼리 메서드 기능에 대해서 알아보자.


강의를 듣고 정리한 글입니다. 코드와 그림 등의 출처는 김영한 강사님께 있습니다.

profile
현실에서 한 발자국

0개의 댓글