강의

멘토링

로드맵

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

Ahrisan님의 프로필 이미지
Ahrisan

작성한 질문수

스프링 핵심 원리 - 기본편

자동, 수동의 올바른 실무 운영 기준

서비스 의존주입 질문

작성

·

367

0

공부중에 헷갈려서 질문드립니다.

예를들어 리포지토리에서 서비스나, 컨트롤러를 주입받으면 안되는것은 잘 이해했습니다.

단 같은 계층에서 다른 객체를 주입받는것은 괜찮나요???? 아래가 그 경우입니다.

 
채팅서비스에서 채팅방을 만드는 메서드가 있습니다.
 
ChatService
-> createChatRoom()

이 있습니다.

제가 하고싶은것은 "팀"이 만들어질때마다 "대화방"이 만들어지게 하고싶습니다.
teamService
-> createTeam()안에서 ChatService의 createChatRoom()을 사용하고 싶은것입니다.

이럴때 TeamService에서 ChatService을 주입받으면 문제될 부분이 있나요?
있다면 어떻게 해결해야하나요?
 
 

퀴즈

필드 주입(Field Injection) 방식이 일반적으로 권장되지 않는 이유는 무엇일까요?

불변성을 보장하기 어려워서

의존성 변경이 쉬워서

순수 Java 코드로 테스트하기 어려워서

설정 코드 작성이 복잡해서

답변 1

3

안녕하세요. 김진영님, 공식 서포터즈 David입니다.

.
서비스 내 다른 서비스를 주입 받아 호출해도 됩니다.

다만, 각 서비스가 서로를 필요로하여 순환참조에 빠지지 않게 주의해주세요.
.
감사합니다.

Ahrisan님의 프로필 이미지
Ahrisan

작성한 질문수

질문하기