인프런 커뮤니티 질문&답변
AutoAppConfigTest 관련 코드 질문입니다.
작성
·
199
0
1.
AutoAppConfigTest코드에서
Application ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);
로 스프링 컨테이너 생성하면, 스프링부트가 내부적으로 컨테이너 만들어주는 것 처럼 @Component찾아서 등록시켜주는 것이 맞을까요?
2.
맞다면 AutoAppConfig.class는 실행에 필요한 의미있는 설정정보가 아니긴한데 쓰는 이유는 그냥 AnnotationConfigApplicationContext()에 설정정보를 무조건 넣어줘야 문법이 맞기때문에 넣어주는 것 인가요?
강의를 듣다 제가 잘 이해하고 있는 것인지 궁금하여 질문드립니다!
퀴즈
What are the main reasons why Field Injection is generally not recommended?
Because it is difficult to guarantee immutability
Because changing dependencies is easy
Because it's difficult to test with pure Java code
Because writing configuration code is complex
답변 1
1
네 맞습니다. 스프링 컨테이너 그 자체이기 때문에 가능합니다.
아래 질문과 영한님의 답변을 보시면 더 잘 이해 되실꺼에요~






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