더북(TheBook)

스프링 시큐리티는 JDBC 기반, LDAP 기반, 인메모리 사용자 저장소를 포함한 몇 가지 인증 옵션을 제공한다. 여기서는 JPA를 이용한 데이터베이스를 기반으로 사용자를 인증하자. 두 번째 configure() 메서드는 사용자를 인증하려고 사용자 상세 정보 서비스를 설정한다. 이 서비스는 UserDetailsService를 구현하는 클래스이며, 제공된 사용자 이름으로 사용자의 상세 정보를 조회할 때 사용한다. 앞의 코드는 주입된 ReaderRepository(스프링 데이터 JPA 리포지토리 인터페이스)의 findOne() 메서드를 호출하는 익명 내부 클래스 구현을 보여 준다.

 

코드 3-6 Reader를 영속화하는 리포지토리 인터페이스

package readinglist;
 
import org.springframework.data.jpa.repository.JpaRepository; // JPA로 Reader 영속화

public interface ReaderRepository extends JpaRepository<Reader, String> {
 
}

 

ReadingListRepository와 마찬가지로 ReaderRepository도 추가로 구현 코드를 작성할 필요가 없다. JpaRepository를 확장하므로 스프링 데이터 JPA가 런타임에 자동으로 구현체를 생성한다. 결국 Reader 엔티티를 다루는 메서드 18개를 자동으로 생성한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.