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

우준혁님의 프로필 이미지
우준혁

작성한 질문수

스프링 핵심 원리 - 기본편

조회한 빈이 모두 필요할 때, List, Map

AnnotationConfigApplicationContext에 파라미터 두 개를 넣는 이유가 궁금합니다

작성

·

362

0

AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class);

위 코드에서 파라미터를 두 개 넣은 이유가 DiscountService.class에는 빈들을 가져오지 않았기 때문에 AutoAppConfig에서 등록된 빈들을 다 가져오고 그 빈들을 DiscountService.class에 생성자 주입을 하여 테스트 코드에서 사용할 수 있도록 하기 위해 두 개를 넣은 것인가요?

그리고 파라미터를 두 개 넣으면 어떠한 방식으로 실행되는지 궁금합니다!

답변 1

3

안녕하세요. 우준혁님, 공식 서포터즈 David입니다.

AutoAppConfig는 DiscountPolicy 관련 빈을 등록하기 위해서고, DiscountService는 빈으로 등록되어야 의존관계 자동 주입이 발생되기 때문입니다.

두 개 다 파라미터로 넘기게 되면 모두 빈으로 등록됩니다.

감사합니다.

우준혁님의 프로필 이미지
우준혁

작성한 질문수

질문하기