이 질문과 유사한 의도의 질문이 존재하여 답변을 일부 인용했다
Q
현재 제가 작성한 코드에는 1개의 Service 객체에서 2개의 Repository를 @Autowired하여 사용하고 있습니다. 지금 사용하고 있는 방법이 올바른지(보안, 효율성 측면) 궁금합니다.
A
어떤게 맞고 틀리고 그런건 없습니다. 본인이 또는 팀내에서 쓰기 편하면 그걸로도 괜찮은 겁니다. 저는 서비스 객체 하나에서 여러 리파지토리를 쓰기도 하고, 컨트롤러에서 서비스와 리파지토리를 모두 쓰기도 합니다.
서비스에서 다른 서비스를 주입받아 사용하는것도 당연히 가능한 일이고 중복 코드를 제거한다는 관점에선 효율적이죠.
애플리케이션 아키텍처는 다양한 형태가 있습니다.
원문