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

yeon bunhong님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

AutoAppConfig.class 는 빈으로 등록되는 이유

작성

·

391

0

안녕하세요. 좋은 강의 정말 감사드립니다!!

강의를 듣다가 궁금한 점이 생겨 문의드립니다.

AutoAppConfig.java 파일에서 @ComponentScan의 excludeFilters 속성을 통해 @Configuration이 붙은 클래스는 빈으로 등록되지 않도록 설정한다고 말씀해주셨습니다.

그런데 테스트 코드를 돌려보니 autoAppConfig라는 빈은 등록되어있더라구요..! 이 파일에도  @Configuration을 붙여주었는데 왜 AppConfig는 빈으로 등록되지 않고, autoAppConfig만 빈으로 등록되었는지 궁금합니다!

다시 한번 감사드립니다~!

답변 1

3

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. yeon bunhong님

AutoAppConfigTest 코드를 보시면 다음 부분이 있습니다.

new AnnotationConfigApplicationContext(AutoAppConfig.class);

여기에서 new AnnotationConfigApplicationContext() 이 부분이 바로 스프링 컨테이너를 만드는 부분입니다. (이것이 스프링 컨테이너 그 자체라고 생각하시면 됩니다.) 그리고 여기에 파라미터를 AutoAppConfig.class넣어주었는데요. 이렇게 파라미터를 넣으면 즉시 스프링 빈으로 등록됩니다.

그리고 이렇게 스프링 빈으로 등록이 되어 있어야  @ComponentScan도 동작할 수 있습니다^^

감사합니다.