본문 바로가기

Backend/Spring

[Spring] 스프링 컨테이너와 빈 3) BeanFactory&ApplicationContext

728x90

 

목차

  • 스프링 컨테이너 생성
  • 컨테이너에 등록된 모든 빈 조회
  • 스프링 빈 조회 - 기본
  • 스프링 빈 조회 - 동일한 타입이 둘 이상
  • 스프링 빈 조회 - 상속 관계
  •  BeanFactory와 ApplicationContext
  • 다양한 설정 형식 지원 - 자바 코드, XML
  • 스프링 빈 설정 메타 정보 - BeanDefinition

 

 

 

BeanFactory & ApplicationContext

 

BeanFactory

  • 스프링 컨테이너의 최상위 인터페이스
  • 스프링 빈을 관리하고 조회하는 역할을 담당
  • getBean() 을 제공한다. (지금까지 우리가 사용했던 대부분의 기능은 BeanFactory가 제공하는 기능)

 

ApplicationContext

  • BeanFactory 기능을 모두 상속받아서 제공
  • Bean관리 / 검색 이외 수 많은 부가기능

 

 

 

  • 메시지소스를 활용한 국제화 기능
    • 예를 들어서 한국에서 들어오면 한국어로, 영어권에서 들어오면 영어로 출력 환경변수
  • 환경 변수
    • (개발 시 주로 3가지 환경이 있음) 로컬, 개발(테스트 서버 환경), 운영(실제 프로덕션)등을 구분해서 처리 애플리케이션 이벤트
  • 애플리케이션 이밴트
    • 이벤트를 발행하고 구독하는 모델을 편리하게 지원
  • 편리한 리소스 조회
    • 파일, 클래스패스, 외부 등에서 리소스를 편리하게 조회

주로 애플리케이션을 만들 때 공통적으로 필요한 부가기능들 

 

 

∴ BeanFactory를 실제로 직접 사용할 일은 거의 없기 때문에, 부가 기능이 포함된 ApplicationContext를 사용하고, 이를 스프링 컨테이너라고 한다. 

728x90