• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

컴포넌트 스캔 동작 이유

22.05.21 18:26 작성 조회수 146

1

안녕하세요!

이번 강좌의 테스트는 스프링을 올려서 하는 통합 테스트가 아님에도 컴포넌트 스캔 등이 동작하였는데 이 이유가 스프링 프레임워크에 포함되는 AnnotationConfigApplicationContext를 직접 생성해줬기 때문일까요?

 

감사합니다.

답변 1

답변을 작성해보세요.

1

OMG님의 프로필

OMG

2022.05.21

안녕하세요. 현상혁님, 공식 서포터즈 OMG입니다.

 

네, AnnotationConfigApplicationContext() (<- 스프링 컨테이너 그 자체라고 보시면 됩니다)

에 AutoAppConfig를 직접 스프링 빈으로 등록하여 동작한 것으로 이해하시면 됩니다.

4:00을 보면, DiscountPolicy만 스프링 컨테이너에 빈을 등록하여 policyMap이 비어있지만,

AnnotationConfigApplicationContext에 AutoAppConfig를 스프링 빈으로 등록하여 컴포넌트 스캔이 동작해서

5:00에 fixDiscountPolicy, rateDiscountPolicy 등의 빈이 Map에 담겨있는 것을 확인하실 수 있습니다.

 

감사합니다.