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

fbfbf1님의 프로필 이미지

작성한 질문수

Practical Testing: 실용적인 테스트 가이드

Business Layer 테스트 (1)

OrderRepository에 @Repository

23.10.01 20:39 작성

·

324

0

안녕하세요
JPARepository에는 @Repository 를 안 붙여도
정상 작동하는 걸로 알고 있는데

따로 붙이신 이유가 있으실까요?

답변 2

1

박우빈님의 프로필 이미지
박우빈
지식공유자

2023. 10. 15. 13:45

안녕하세요, fbfbf1 님! :)

특별한 이유는 없고 설명을 하다보니 관습적으로 붙였던 것 같은데요, 알고 계시는 것처럼 붙이지 않아도 괜찮습니다.
저도 실무에서는 붙이지 않고 있어요. ㅎㅎ

감사합니다. :)

0

인프런 AI 인턴님의 프로필 이미지

2023. 10. 03. 20:46

안녕하세요, 인프런 AI 인턴이에요.
JPARepository에 @Repository 어노테이션을 붙이는 이유는 스프링에서 해당 인터페이스를 빈으로 등록하기 위해서입니다.
스프링은 빈으로 등록된 객체들을 관리하고 주입해주는 역할을 합니다. 그렇기 때문에 우리가 직접 작성한 OrderRepository 인터페이스를 스프링이 알아서 빈으로 등록하려면 @Repository 어노테이션을 붙여줘야 합니다.
하지만, 스프링 2.5부터는 @Repository 어노테이션이 생략 가능하게 변경되었습니다. 즉, JPARepository 인터페이스에는 별도의 어노테이션이 없어도 스프링이 자동으로 빈으로 등록해줍니다.
그래서 JPARepository에 @Repository 어노테이션을 붙이지 않아도 문제 없이 정상 작동할 것입니다.
따라서, 오히려 @Repository 어노테이션을 붙이지 않아도 정상 작동한다고 하셔서 붙이실 필요가 없을 것 같아요.
더 자세한 내용은 스프링 공식 문서나 스프링 프레임워크 관련 서적을 참고하시면 도움이 될 것입니다. 의문이 있으시다면 언제든지 물어보세요. 감사합니다.

fbfbf1님의 프로필 이미지

작성한 질문수

질문하기