Spring/Java bean
BeanFactory와 ApplicationContext 차이
수달하나
2021. 6. 25. 16:17
BeanFactory
스프링 컨테이너의 최상위 인터페이스
스프링 빈을 관리하고 조회하는 역할 담당.
getBean() 제공
ApplicationContext
BeanFactory 기능을 모두 상속받아서 제공.
ApplicationContext 가 상속받는 인터페이스
- BeanFactory
- MessageSource : 메세지 소스를 활용한 국제화 기능
- EnvironmentCapable : 환경 변수 (로컬, 개발, 운영등을 구분해서 처리)
- ApplicationEventPublisher : 이벤트를 발행하고 구독하는 모델을 편리하게 지원
- ResourceLoader : 파일, 클래스패스, 외부 등에서 리소스를 편리하게 조회
대부분 BeanFactory를 직접적으로 사용할 일은 거의 없고 부가 기능이 포함된 ApplicationContext 를 사용하게 된다.