-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
스프링 컨테이너 사용
22.07.30 12:29 작성 조회수 86
0
스프링 컨테이너를 사용할때
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppCinfig.class);
이렇게 써서 등록되어있는 빈을 꺼내 사용할수있다고 이해했습니다
1. 그러면 저 코드는 컨트롤러쪽 맨앞줄 전역변수로 항상 있어야 하는 코드인거죠??
2. 실제 실무에서도 저렇게 사용하는건지도 궁금합니다
3. 테스트 코드 작성할때도 전역변수로 두고 사용해도되는건지도 궁금합니다.
감사합니다
답변을 작성해보세요.
0
유석균
질문자2022.07.30
아 제 질문의 요지는 실무에서는 저 코드를 어떻게 사용하는지였습니다
말씀해주신대로 이미 생성된 컨테이너라면
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);
를 적지 않아도 알아서 컨테이너가 생성되는건가요?
테스트 코드에서는 생성이 안되어서 작성해준건가요??
유석균
질문자2022.07.31
실제 실무에서는
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);
위 코드를 사용하지 않고 컨테이너를 생성하신다고 하셨는데 컨테이너 생성 파라미터로 어떻게 넘겨지는건가요..??
David
2022.08.01
" AutoAppConfig.class 이부분은 어떻게 설정한상태로 들어가나요?? Config 클래스도 알아서 선택해서 컨테이너가 생성되는건가요?? "
해당 질문에서 어떤 맥락에서 AutoAppConfig.class를 사용하는 것인지에 대해 말씀을 하지 않으셔서
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);
답글에 언급된 방식을 기준으로 말씀드렸습니다.
만약 직접 컨테이너를 생성하지 않고 스프링 애플리케이션이 실행될 때에는 ComponentScan에 의해 해당 설정 클래스는 빈으로 등록됩니다.
본 강의 의존관계 자동 주입 섹션을 참고해주세요.
답변 2