Spring

BeanFactory vs ApplicationContext

dev-rootable 2023. 5. 19. 10:16

📌 BeanFactory

  • 스프링 컨테이너의 최상위 인터페이스
  • 스프링 빈을 관리하고 조회하는 역할을 담당
  • getBean() 을 제공
ApplicationContext ac = new AnnotationConfigApplicationContext(설정 클래스);
Bean bean = ac.getBean(이름, 타입);

출처 : 스프링 핵심 원리 - 기본편 by 김영한

📌 ApplicationContext

  • BeanFactory 의 기능을 모두 상속받아서 제공
  • 이 기능 외에도 추가로 부가 기능을 제공
    • 메시지 소스를 활용한 국제화 기능 : 언어 지원
    • 환경변수 : 로컬, 개발, 운영 등을 구분해서 처리
    • 애플리케이션 이벤트 : 이벤트를 발행하고 구독하는 모델을 편리하게 지원
    • 편리한 리소스 조회 : 파일, Resource Path, 외부 등에서 리소스를 편리하게 조회

출처 : 스프링 핵심 원리 - 기본편 by 김영한

정리
BeanFactory 에서 스프링 빈을 관리하고 조회하는 기능을 제공하고, ApplicationContext 는 상속 받은 BeanFactory 의 기능과 함께 편리한 부가 기능들을 제공한다. 둘 다 SpringContainer 라고 부르며, 일반적으로 부가 기능까지 추가된 ApplicationContext 를 사용한다.

 

Reference:

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

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런

www.inflearn.com