반응형
package hello.hellospring.repository;
import hello.hellospring.domain.Member;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
public interface SpringDataJpaMemberRepository extends JpaRepository<Member, Long> {
Optional<Member> findByName(String name);
}
▶ 스프링 데이터 JPA 회원 리푖토리
package hello.hellospring;
import hello.hellospring.repository.JpaMemberRepository;
import hello.hellospring.repository.MemberRepository;
import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@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 회원 리포지토리를 사용하도록 스프링 설정 변경
→ 스프링 데이터 JPA가 SpringDataJpaMemberRepository를 스프링 빈으로 자동 등록해줌
▶ MemberServiceIntegrationTest 파일을 실행하면 정상적으로 테스트 작동
스프링 데이터 JPA 제공 기능
- 인터페이스를 통한 기본적인 CRUD
- findByName(), findByEmail() 처럼 메서드 이름 만으로 조회 기능 제공
- 페이징 기능 자동 제공
반응형
'Spring > inflearn' 카테고리의 다른 글
AOP 적용 (0) | 2022.09.09 |
---|---|
AOP (0) | 2022.09.08 |
JPA (0) | 2022.09.06 |
스프링 JdbcTemplate (0) | 2022.09.05 |
스프링 통합 테스트 (0) | 2022.09.04 |