1. 스프링 컨테이너
- 스프링컨테이너는 ApplicationContext객체이다.
- 일종의 인터페이스. 구현체가아님.
- XML기반으로 만들 수 있고 어노테이션 기반의 자바설정 클래스로 만들 수 있다.
- Bean객체를 담고있음. BeanFactory, ApplicationContext로 구분하여 스프링컨테이너를 일컫기도함.
스프링컨테이너 생성과정
1. new AnnotationApplicationContext(AppConfig.class)
-> 스프링 컨테이너가 생성. AppConfig클래스의 설정정보를 파라미터로 넘겨준다.
2. 스프링빈 등록
-> 어노테이션을 확인하여 스프링 빈 저장소에 매핑(저장) Key -> 메소드이름, Value -> 빈객체
* 일반적으로 빈이름은 메소드이름을 사용하되, @Bean(name="memberService2")처럼 지정해줄 수도 있다.
* 빈이름은 반드시 유일성을 만족해야함.
3. 스프링 빈의 의존관계를 설정한다.
-정리
* 스프링은 빈을 설정하고, 의존관계를 주입하는 단계가 나뉘어져 있다. 앞선 단계들을 통해 스프링은 생성자 호출, 의존관계 주입을 한번에 처리할 수 있다(의존관계 자동 주입)
'SpringBoot' 카테고리의 다른 글
Spring Bean 설정 메타 정보[BeanDefinition] (0) | 2021.02.17 |
---|---|
SpringBoot] BeanFactory, ApplicationContext (0) | 2021.02.17 |
IoC, DI, 컨테이너 (0) | 2021.02.17 |
스프링 : 객체지향 프로그래밍 설계원칙 [SOLID] (0) | 2021.02.16 |
스프링프레임워크 ] 빈+컨테이너, IoC패턴 (0) | 2021.02.04 |