Spring/스프링 핵심 원리 - 기본편

[스프링 컨테이너와 스프링 빈] BeanFactory 와 ApplicationContext

alsruds 2023. 11. 23. 18:20
🧐강의🧐
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard

 

 

BeanFactory

· 스프링 컨테이너의 최상위 인터페이스

· 스프링 빈을 관리, 조회하는 역할

· getBean()

 

ApplicationContext

· BeanFactory 의 기능을 상속받아 제공 (BeanFactory 기능 + ɑ )

 

ApplicationContext 가 제공하는 부가 기능

· MessageSource : 메세지 소스를 활용한 국제화 기능 (ex. 한국 → 한국어, 영어권 → 영어)

· EnvironmentCapable : 환경 변수 (ex. 로컬, 개발, 운영 등 구분하여 처리)

· ApplicationEventPublisher : 애플리케이션 이벤트 (ex. 이벤트 발행&구독)

· ResourceLoader : 편리한 리소스 조회 (ex. file, classpath)

 

정리
- ApplicationContext 는 BeanFactory 의 기능을 상속받는다
- ApplicationContext 는 빈 관리 기능 + 편리한 부가 기능을 제공한다
- BeanFactory 를 직접 사용할 일은 거의 없다
- BeanFactory 나 ApplicationContext 를 스프링 컨테이너라 한다