스프링 데이터 JPA

Sunny·2023년 3월 2일

스프링 데이터 JPA를 사용하면 다음과 같은 장점이 있다.

  • 개발 생산성 증가
  • 개발해야 할 코드 감소
  • 리포지토리에 구현 클래스 없이 인터페이스 만으로 개발 완료
  • 기본 CRUD 기능을 스프링 데이터 JPA가 제공
    👉 핵심 비즈니스 로직을 개발하는데 집중 할 수 있다!

스프링 데이터 JPA의 사용 방법은 다음과 같다.

🌱 스프링 데이터 JPA 회원 리포지토리

JPA의 설정을 가져다쓴 상태에서 이어나간다.

public interface SpringDataJpaMemberRepository  extends JpaRepository<Member, Long>, MemberRepository {

    @Override
    Optional<Member> findByName(String name);
}
  • 인터페이스를 상속할 때는 extends를 사용
  • 인터페이스는 다중상속이 됨
  • Long을 쓴 이유는 PK(id)의 자료형이 Long이기 때문
  • 스프링 데이터 JPA가 SpringDataJpaMemberRepository를 스프링 빈으로 자동 등록해준다.

🌱 스프링 데이터 JPA 회원 리포지토리를 사용하도록 스프링 설정 변경

@Configuration
public class SpringConfig {

    private final MemberRepository memberRepository;

    @Autowired
    public SpringConfig(MemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }

    @Bean
    public MemberService memberService() {
        return new MemberService(memberRepository);
    }
}

🌱 스프링 데이터 JPA 제공 기능

  • 인터페이스를 통한 기본적인 CRUD
  • findByName(), findByEmail() 처럼 메서드 이름만으로 조회 기능 제공
  • 페이징 기능 자동 제공
profile
개발에 재미를 붙여보기 :)

0개의 댓글