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

김형민님의 프로필 이미지
김형민

작성한 질문수

스프링 핵심 원리 - 기본편

다양한 의존관계 주입 방법

AutoAppConfigTest 관련 코드 질문입니다.

작성

·

159

0

1.

AutoAppConfigTest코드에서

Application ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);

로 스프링 컨테이너 생성하면, 스프링부트가 내부적으로 컨테이너 만들어주는 것 처럼 @Component찾아서 등록시켜주는 것이 맞을까요?

 

2.

맞다면 AutoAppConfig.class는 실행에 필요한 의미있는 설정정보가 아니긴한데 쓰는 이유는 그냥 AnnotationConfigApplicationContext()에 설정정보를 무조건 넣어줘야 문법이 맞기때문에 넣어주는 것 인가요?

 

강의를 듣다 제가 잘 이해하고 있는 것인지 궁금하여 질문드립니다!

답변 1

1

안녕하세요. 김형민님, 공식 서포터즈 OMG입니다.

1.

Application ac = new AnnotationConfigApplicationContext(인자);

는 인자를 직접 스프링 빈으로 등록해줍니다.

@Component, @Controller 등의 어노테이션 없이도 스프링 컨테이너에 직접 빈을 등록해줄 수 있습니다.

 

2.

수동으로 등록하는 @Bean이 없기는 하지만 기존의 구조를 그대로 가져가기 위해 사용하신 것으로 보시면 될 것 같아요.

그렇게 함에도 정상작동하는 것까지 확인 시켜주신 것이구요.


감사합니다.

김형민님의 프로필 이미지
김형민
질문자

@Component, @Controller 등의 어노테이션 없이도 스프링 컨테이너에 직접 빈을 등록해줄 수 있습니다.

=> Application ac = new AnnotationConfigApplicationContext(인자); 실행하면 자동으로 @Component찾아서 등록시켜주긴하는데 @Component 없이 직접 빈을 설정정보에 구현하여 등록해줄 수 있다. 제가 잘 이해한 것이 맞을까요?

네 맞습니다. 스프링 컨테이너 그 자체이기 때문에 가능합니다.

아래 질문과 영한님의 답변을 보시면 더 잘 이해 되실꺼에요~

https://www.inflearn.com/questions/124234

김형민님의 프로필 이미지
김형민
질문자

감사합니다!

김형민님의 프로필 이미지
김형민

작성한 질문수

질문하기