스프링 컨테이너는 BeanFactory와 ApplicationContext로 구분할 수 있다.
BeanFactory
빈 팩토리는 스프링 컨테이너의 최상위 인터페이스이고, 스프링 빈을 관리하고 조회하는 역할을 한다 -> 즉 우리가 사용하는 getBean() 메서드는 BeanFactory 인터페이스에서 재공하는 기능이다.
ApplicationContext
BeanFactory를 상속받아 사용하고, 추가로 부가 기능을 제공한다
1. MessageSource : 메시지 소스를 위한 국제화 기능
2. EnvironmentCapable : 환경변수
3. ApplicatoionEventPublisher : 애플리케이션 이벤트
4.ResourceLoader : 편리한 리소스 조회
정리
- ApplicationContext는 BeanFactory의 기능을 상속받는다.
- ApplicationContext는 Bean 관리 기능 + 부가기능 제공
- BeanFactory보단 ApplicationContext를 사용하자
- BeanFactory나 ApplicationContext를 스프링 컨테이너라고 한다
'Spring > Core' 카테고리의 다른 글
[Spring] @ComponentScan , @AutoWired - 자동 Bean 등록 (0) | 2025.06.16 |
---|---|
[Spring] Singleton 패턴 : 인스턴스 아나바다 운동 (0) | 2025.06.16 |
[Spring] 스프링 컨테이너 - ApplicationContext, Bean 조회 (0) | 2025.06.16 |
[Spring] @PostConstruct, @PreDestroy 와 컴포넌트 스캔의 궁합 (1) | 2025.05.19 |
[Spring] Bean 생명주기와 콜백 (0) | 2025.05.19 |