• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

NoRepositoryBean 과 추상클래스

21.05.12 23:21 작성 조회수 338

0

안녕하세요. @NoRepositoryBean 에 대해 궁금한점이 있어 질문 드립니다. 실제 객체로 만들고 싶지 않아서 이런 annotation 을 쓴다고 생각을 했는데, 그러면 추상 클래스로 만드는 것이랑 어떤 차이가 있을까요? 

답변 1

답변을 작성해보세요.

0

질문을 제가 잘 이해한건지 모르겠습니다. @NoRepository를 인터페이스가 아니라 추상 클래스에 써도 되는냐는 질문인가요? 아니면 인터페이스를 쓰는것과 추상 클래스를 쓰는것에 무슨 차이가 있느냐는 질문인가요?

이서윤님의 프로필

이서윤

질문자

2021.05.13

아 그 @NoRepository 를 붙이지 않고 추상클래스로 만드는 것과 

@NoRepository 로 붙이는 것의 차이를 물어본것이었습니다. 

인터페이스에 @NoRepository를 붙이지 않으면 해당 인터페이스의 저장소 인스턴스를 만들려고 할테니 그걸 방지하기 위해 추가한건데요. 인터페이스 대신 추상 클래스를 쓰시고 그 위에 @NoRepository를 붙여도 됩니다.

이서윤님의 프로필

이서윤

질문자

2021.05.14

답변 감사합니다. 추상클래스는 @NoRepository annotation 과 상관없이 원래 인스턴스를 만들 수 없다고 알고 있는데 저장소 인스턴스는 인스턴스랑 다른건가요?

https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/repository/NoRepositoryBean.html

Annotation to exclude repository interfaces from being picked up and thus in consequence getting an instance being created.

문서를 보니 인터페이스에 사용하는 용도로 만든 애노테이션이네요. 추상 클래스로 만든 경우에는 사용하지 않는게 좋겠네요.