1. 스프링 컨테이너
스프링 프레임워크는 스프링의 빈을 생성하고 관리하는 컨테이너를 가지고 있다. (DI 컨테이너 역할을 한다.)
(1) 스프링 컨테이너 생성
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
- ApplicationContext를 스프링 컨테이너라 한다.
- ApplicationContext는 인터페이스이다.
- 자바 설정 클래스를 기반으로 스프링 컨테이너를 만들었다.
스프링 컨테이너 생성 호출 시 생성 과정에 대해서 알아보자.
2. 스프링 컨테이너의 생성 과정
(1) 스프링 컨테이너 생성
- 스프링 컨테이너를 생성할때 설정 클래스(AppConfig.class)를 지정해주어야 한다.
(2) 스프링 빈 등록
- 스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 사용해서 스프링 빈을 등록한다.
- 빈 이름은 메서드 이름을 사용한다.
- 빈 이름을 직접 부여할 수 도 있다.
- @Bean(name="memberService2")
- 빈 이름은 항상 다른 이름을 부여해야 한다. 같은 이름을 부여하면, 다른 빈이 무시되거나, 기존 빈을 덮어버리거나 설정에 따라 오류가 발생한다.
(3) 스프링 빈 의존관계 설정 - 준비
(4) 스프링 빈 의존관계 설정 - 완료
- 스프링 컨테이너는 설정 정보를 참고해서 의존관계를 주입(DI)한다.
본 글은 김영한 님의 "스프링 핵심 원리"(인프런) 유료 강의를 들으며 요약, 정리하고 일부 정보를 추가 작성한 것입니다.
저작권 문제시 903yh@naver.com으로 연락 주시면 삭제하겠습니다.
반응형
'Spring(JAVA Framework) > Spring Core' 카테고리의 다른 글
BeanFactory와 ApplicationContext (0) | 2021.08.17 |
---|---|
스프링 빈 조회 (0) | 2021.08.17 |
IoC, DI 컨테이너 (0) | 2021.08.15 |
스프링 핵심 원리 이해3 (0) | 2021.08.15 |
스프링 핵심 원리 이해2 (0) | 2021.08.15 |
댓글