인프런 커뮤니티 질문&답변
spring boot 서비스 레이어에서 여러 레포지토리를 주입해도 괜찮은건가요..?
작성
·
311
0

비즈니스 로직을 짜다보니 테이블끼리 다대일 방식으로 맵핑되어있는 구조가 많다보니
위 서비스 로직처럼 여러 레포지토리를 주입받고 있습니다...
로직을 짜다보니 이렇게 많이 주입받는게 적절한 방법이 아닌거같은 기분이 들어 글 씁니다.
이렇게 많이 주입받는 이유는 아래 로직에 설명해두었습니다

위 코드처럼 bookmark table은 member와 category 테이블과 N:1 맵핑 되어있습니다.
사용자가 해당 카테고리를 BookMark 할 경우 path parameter로 넘어온 값들을 토대로 각 레포지토리에서
객체를 찾은 후 bookMark로 저장합니다.
위 로직때문에 여러 레포지토리를 주입 받는 상황입니다.
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
여러 개의 레포지토리를 주입받는 것은 특정 비즈니스 로직을 구현하는 상황에서는 올바른 방법입니다. 프로그램의 모듈화는 유지보수성과 확장성을 향상시키기 위해서이기 때문에, 레포지토리에 접근하고 처리하기 위한 서비스 레이어를 만들어주는 것이 좋습니다.
따라서, 여러 개의 레포지토리를 사용하는 것은 일반적인 상황에서는 좋지 않은 것이지만, 특정한 비즈니스 로직의 구현과정에서는 적절한 선택일 수 있습니다. 위에서 설명한 것처럼, 레포지토리에 접근하고 처리하기 위한 서비스 레이어를 만드는 것이 좋습니다.
추가적인 질문이 있으시다면 언제든지 물어봐주세요. 감사합니다.




