본문 바로가기

Spring/Spring

[Spring] 스프링 컨테이너

반응형

1. 스프링 컨테이너란?

스프링 컨테이너는 스프링을 배우는 데에 있어서 핵심적인 역할을 한다.

스프링 컨테이너의 대표적인 역할은 아래 3가지 입니다.

  • 스프링 빈 생성
  • 스프링 빈 의존관계 주입
  • 스프링 빈 생명 주기 관리

 

간단하게 요약하자면 스프링에서의 객체 (Bean)를 컨테이너라는 곳에서 통합적으로 관리해주는 역할을 합니다.

 

 

2. 스프링 컨테이너 생성 과정

ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);

ApplicationContext가 스프링 컨테이너의 역할을 해주며

Appconfig 클래스에 있는 @Bean 어노테이션이 붙은 객체들을 컨테이너에 주입합니다.

 

스프링 컨테이너라는 커다란 컨테이너 안에 스프링 빈들을 저장해놓는 저장소가 하나 생기고

그 저장소에는 빈의 이름, 객체가 키와 값처럼 생긴 형태로 만들어지게됩니다.

Spring Bean 저장소
Bean 이름 Bean객체
BeanName_1 BeanName@x01
BeanName_2 BeanName@x02
BeanName_3 BeanName@x03

 

Bean 저장소에 들어갈 정보들은 위에서 Appconfig.class를 파라미터로 넣었기 때문에 

Appconfig 클래스로 이동해서 @Bean이 붙어있는 것들을 저장소에 넣게 됩니다.

 

** Bean 이름은 항상 다른 이름으로 해야 합니다. (중복 시 오류 발생) **

반응형