Rootable의 개발일기
BeanFactory vs ApplicationContext 본문
📌 BeanFactory
- 스프링 컨테이너의 최상위 인터페이스
- 스프링 빈을 관리하고 조회하는 역할을 담당
- getBean() 을 제공
ApplicationContext ac = new AnnotationConfigApplicationContext(설정 클래스);
Bean bean = ac.getBean(이름, 타입);
📌 ApplicationContext
- BeanFactory 의 기능을 모두 상속받아서 제공
- 이 기능 외에도 추가로 부가 기능을 제공
- 메시지 소스를 활용한 국제화 기능 : 언어 지원
- 환경변수 : 로컬, 개발, 운영 등을 구분해서 처리
- 애플리케이션 이벤트 : 이벤트를 발행하고 구독하는 모델을 편리하게 지원
- 편리한 리소스 조회 : 파일, Resource Path, 외부 등에서 리소스를 편리하게 조회
정리
BeanFactory 에서 스프링 빈을 관리하고 조회하는 기능을 제공하고, ApplicationContext 는 상속 받은 BeanFactory 의 기능과 함께 편리한 부가 기능들을 제공한다. 둘 다 SpringContainer 라고 부르며, 일반적으로 부가 기능까지 추가된 ApplicationContext 를 사용한다.
Reference:
'Spring' 카테고리의 다른 글
웹 서버와 웹 애플리케이션 서버(WAS) (0) | 2023.07.11 |
---|---|
빈 스코프 (0) | 2023.05.26 |
빈 생명 주기 콜백 (0) | 2023.05.11 |
의존 관계 주입(DI, Dependency Injection) (0) | 2023.05.09 |
싱글톤(Singleton) (0) | 2023.05.08 |