인프런 커뮤니티 질문&답변
AutoAppConfigTest 관련 코드 질문입니다.
작성
·
199
0
1.
AutoAppConfigTest코드에서
Application ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);
로 스프링 컨테이너 생성하면, 스프링부트가 내부적으로 컨테이너 만들어주는 것 처럼 @Component찾아서 등록시켜주는 것이 맞을까요?
2.
맞다면 AutoAppConfig.class는 실행에 필요한 의미있는 설정정보가 아니긴한데 쓰는 이유는 그냥 AnnotationConfigApplicationContext()에 설정정보를 무조건 넣어줘야 문법이 맞기때문에 넣어주는 것 인가요?
강의를 듣다 제가 잘 이해하고 있는 것인지 궁금하여 질문드립니다!
퀴즈
필드 주입(Field Injection) 방식이 일반적으로 권장되지 않는 이유는 무엇일까요?
불변성을 보장하기 어려워서
의존성 변경이 쉬워서
순수 Java 코드로 테스트하기 어려워서
설정 코드 작성이 복잡해서
답변 1
1
네 맞습니다. 스프링 컨테이너 그 자체이기 때문에 가능합니다.
아래 질문과 영한님의 답변을 보시면 더 잘 이해 되실꺼에요~






@Component, @Controller 등의 어노테이션 없이도 스프링 컨테이너에 직접 빈을 등록해줄 수 있습니다.
=> Application ac = new AnnotationConfigApplicationContext(인자); 실행하면 자동으로 @Component찾아서 등록시켜주긴하는데 @Component 없이 직접 빈을 설정정보에 구현하여 등록해줄 수 있다. 제가 잘 이해한 것이 맞을까요?