스프링에서는 BeanFactory와 BeanFactory를 상속한 ApplicationContext 두 가지 유형의 컨테이너를 제공한다.
BeanFactory
스프링 설정 파일에 등록된 bean 객체를 생성하고 관리하는 기본적인 컨테이너 기능만 제공한다.
컨테이너가 실행될 때 bean 객체를 생성하지 않고, 클라이언트의 요청이 있을 때 bean 객체를 생성하는
지연 로딩 ( Lazy-loading) 방식을 사용한다.
- 스프링 프로젝트에서 BeanFactory 사용할 일은 거의 없다고 함.
ApplicationContext
BeanFactory를 상속하고 있지만 bean 객체 관리 기능 외에도 Transaction (트랜잭션) , 메세지 기반 다국어 처리 등
다양한 기능을 지원한다.
컨테이너가 실행될 때 등록된 bean 객체를 즉시 로딩(Pre-loading) 방식을 사용한다.
웹 APP 개발도 지원해서 대부분 스프링 기반 프로젝트는 ApplicationContext 유형의 컨테이너를 사용한다.
- ApplicationContext를 구현한 클래스는 많지만, 가장 많이 사용하는건 BeanFacory 와 ApplicationContext다.
'Spring' 카테고리의 다른 글
JPA(Java Persistence Api) 사용하기 (0) | 2022.03.26 |
---|---|
Spring Boot 폼 입력 유효성 검사(Form Validation ) (0) | 2022.03.24 |
Spring Boot Devtools의 간략한 설명 (0) | 2022.03.23 |
자바 빌드 툴 - 앤트(Ant) 메이븐 (Maven)과 그레이들(Gradle) (0) | 2021.11.04 |
스프링 주요 특징 (0) | 2021.10.16 |