해결된 질문
작성
·
192
·
수정됨
0
안녕하세요!
강의 정말정말 잘 듣고있습니다!
예제에서는 모두 MemberRepository의 인터페이스를 통해 의존성 주입을 받도록 되어있는데, 그렇다면 스프링 데이터 JPA에서 제공하는 여러 기능들을 이용하기 위해서는 memberRepository에 사용할 기능을 추가해야 하는 건가요~?
새해복 많이받으세요!
답변 1
2
안녕하세요. Chany님^^ 좋은 질문입니다.
맞습니다. MemberRepository에 기능을 추가해야 합니다.
그런데 실무에서는 이렇게 하면 많이 불편하니, 실용적인 관점에서 SpringDataJpaMemberRepository를 바로 주입받아서 사용하기도 합니다. 이렇게 하면 스프링 데이터 JPA의 기능을 모두 편리하게 사용할 수 있습니다. 다만 단점은 스프링 데이터 JPA가 제공하는 모든 기능에 의존하는 설계가 되어서 향후 리포리토리 변경이 어렵습니다.
유연성이냐 아니면 유연성은 떨어지지만 실용성이냐의 트레이드 오프이지요. 그리고 이것도 하나의 정답이 있다기 보다는 현재 나의 애플리케이션이 처한 상황과 환경에 따라서 각각 더 나은 선택지가 있을 뿐입니다.
이런 트레이드 오프에서 좋은 고민을 많이 할 수 록 더 나은 개발자이자 좋은 아키텍트로 성장한다 생각합니다.
새배 복 많이 받으세요^^!