-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
코드로 직접 빈을 생성하는 부분에서 질문이 있습니다.
22.02.14 13:11 작성 조회수 231
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
먼저 좋은 강의 정말 감사하게 듣고 있습니다.
@Configuration 어노테이션을 붙인 클래스에서 코드로 직접 빈을 생성하는 부분에 대한 질문입니다.
@Bean
public MemberService memberService() {
return new MemberService(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
이 부분에서 MemberService 객체와 MemberRepository 객체를 생성하면서 Bean으로 등록하는 것으로 보입니다.
그럼 memberService Bean은 memberRepository()를 호출하면서 Service 객체에 종속되는 MemberRepository 객체를 가지게 되고, MemberRepository Bean은 또 새로운 객체를 가지게 되어서, 결국 MemberRepository 객체가 두 개가 되는 게 아닌가요? (Service의 멤버로 하나, Repository Bean 하나)
강의 영상을 보니까 제 생각이 틀린 것 같은데, 이 부분에 대해 어떻게 작동하는 건지 이해가 잘 안 됩니다.
감사합니다.
답변을 작성해보세요.
0
David
2022.02.14
안녕하세요. Hyeokwoo Kwon님, 공식 서포터즈 David입니다.
해당 내용은 스프링 핵심 기본편 - @Configuration과 싱글톤 강의에서 자세히 설명하고 있습니다.
강의 참고 부탁드려요.
감사합니다.
답변 1