인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

hsg0208님의 프로필 이미지
hsg0208

작성한 질문수

스프링 핵심 원리 - 기본편

스프링 빈등록과 자동 의존 관계 등록

작성

·

138

0

@Autowired
public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}

안녕하세요 강의 잘 듣고있습니다!

원래 전에 실습하던 appConfig 에서는 

@Bean
public MemberService memberService(){
return new MemberServiceImpl(memberRepository());
}

@Bean
public MemberRepository memberRepository(){
return new MemoryMemberRepository();
}

@Bean
public OrderService orderService(){
return new OrderServiceImpl(memberRepository(), discountPolicy());
}

@Bean
public DiscountPolicy discountPolicy() {
return new FixDiscountPolicy();
}

로 생성자와 메서드 사용해서 의존관계를 등록시켰는데

이제 자동의존관계 주입에서는 먼저 컴포넌트들 스캔해서 각 객체들을 만들어 놓고 의존 관걔를 주입을 하는데 맨위에 나와 있는 코드에서 해당 매개변수들이 스프링 빈에 등록된 memberrepository객체와 disCountPolicy객체를 넘겨 주는것이 맞는지 궁금합니다

답변 1

1

안녕하세요. hsg0208 님, 공식 서포터즈 codesweaver 입니다.

.

추측하고 계신 내용이 맞습니다.

.

스프링 애플리케이션 실행 시 모든 Component를 스캔한 후 이를 스프링 컨테이너에 등록하고, 그 뒤에 의존성을 주입하는 단계로 진행됩니다. 물론 생성자에서 바로 의존성 주입이 필요한 경우 에는 스프링 컨테이너에 등록하는 순간 바로 주입이 이루어 집니다. 

.
감사합니다.

hsg0208님의 프로필 이미지
hsg0208

작성한 질문수

질문하기