스프링 컨데이너와 빈
less than 1 minute read
스프링 빈 조회 - 상속관계
- 부모 타입으로 조회하면, 자식 타입도 함께 조회한다.
- Object 타입으로 조회하면, 모든 스프링 빈을 조회한다.

BeanFactory와 ApplicationContext

BeanFactory
- 스프링 컨테이너의 최상위 인터페이스
- 스프링 빈 관리, 조회하는 역할 담당
- getBean() 을 제공한다.
ApplicationContext

- BeanFactory 기능을 모두 상속받아 제공, Bean관리 기능 + 편리한 부가기능 제공
- BeanFactory 사용할 일 거의 없음, ApplicationContext 사용
- BeanFactory와 ApplicationContext를 스프링 컨테이너라고 한다.
- 메시지 소스를 활용한 국제화 기능(한국에서 들어오면 한국어로, 영어권에서 들어오면 영어로 출력)
- 환경변수 (운영, 개발, 로컬 등을 구분해서 처리)
- 애플리케이션 이벤트(이벤트 발행, 구독하는 모델 편리하게 지원)
- 편리한 리소스 조회(파일, 클래스패스, 외부 등에서 리소르를 편리하게 조회)
BeanDefinition - 스프링 빈 설정 메타 정보
- 역할과 구현을 개념적으로 나눠놓음
- 스프링 컨테이너는 java code인지 xml인지 몰라도 된다. 오직 BeanDefinition만 알면됨.