인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

me님의 프로필 이미지
me

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링 데이터 JPA

spring data jpa 질문 있어욥 !!

해결된 질문

작성

·

655

1

강사님 코드를 보면 SpringDataJpaMemberRepository.java

클래스에 @Repository가 작성되어 있지 않아요 그런데 스프링 빈으로 등록이 되요 .... 왜 이런건가요 ??

 

import java.util.List;

import javax.persistence.EntityManager;

import org.springframework.data.domain.Example;
import org.springframework.data.domain.Sort;
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.QueryByExampleExecutor;

/**
 * JPA specific extension of {@link org.springframework.data.repository.Repository}.
 *
 * @author Oliver Gierke
 * @author Christoph Strobl
 * @author Mark Paluch
 */
@NoRepositoryBean
public interface JpaRepository<T, ID> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T>

@NoRepositoryBean 을 따라가다 보면

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
public @interface NoRepositoryBean {

}

다음과 같이 되어있는데 어느 어노테이션이 스프링빈으로 등록을 시켜주나요 ??

 

이전강의에서는 @Repository에 속해있는 @Component가 스프링 빈으로 올려준다고 확인했었는데 @NoRepository에는 @Component 없어서 질문드려요 !!

답변 1

4

안녕하세요. me님, 공식 서포터즈 OMG입니다.

눈썰미가 좋으시네요.

JpaRepository 인터페이스의 구현체 클래스인 SimpleJpaRepository가 스프링 빈으로 등록되어 있습니다.

image

JpaRepository 인터페이스 이구요,

좌측에 I 아래 화살표 누르면 구현 클래스 항목들을 볼수 있습니다.

image

여기서 SimpleJpaRepository를 보시면,

image@Repository 어노테이션이 있으며 해당 어노테이션으로 인해 스프링 빈으로 등록됩니다.

자세한 내용은 영한님의 SpringDataJPA강의를 참고해주세요

 

감사합니다.

me님의 프로필 이미지
me
질문자

앗 저기에 숨겨두었네요 ㅎㅎㅎㅎ 감사합니다.

me님의 프로필 이미지
me

작성한 질문수

질문하기