Spring

스프링의 컨테이너 BeanFactory , ApplicationContext

비뀨_ 2022. 1. 18. 14:27

스프링에서는  BeanFactory와   BeanFactory를 상속한 ApplicationContext 두 가지 유형의 컨테이너를 제공한다.

 

BeanFactory

스프링 설정 파일에 등록된 bean 객체를 생성하고 관리하는 기본적인 컨테이너 기능만 제공한다.

컨테이너가 실행될 때 bean 객체를 생성하지 않고, 클라이언트의 요청이 있을 때 bean 객체를 생성하는

지연 로딩 ( Lazy-loading) 방식을 사용한다.

 

- 스프링 프로젝트에서 BeanFactory 사용할 일은 거의 없다고 함.

 

ApplicationContext

BeanFactory를 상속하고 있지만  bean 객체 관리 기능 외에도 Transaction (트랜잭션) , 메세지 기반 다국어 처리 등 

다양한 기능을 지원한다.

컨테이너가 실행될 때 등록된 bean 객체를 즉시 로딩(Pre-loading) 방식을 사용한다.

웹 APP 개발도 지원해서 대부분 스프링 기반 프로젝트는 ApplicationContext 유형의 컨테이너를 사용한다.

 

 

 

- ApplicationContext를 구현한 클래스는 많지만, 가장 많이 사용하는건 BeanFacory 와 ApplicationContext다.