관리 메뉴

Rootable의 개발일기

BeanFactory vs ApplicationContext 본문

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

 

'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