이 글은 김영한 님의 스프링 핵심 원리 - 기본편을 수강하며 정리한 글입니다.
BeanFactory
- 스프링 컨테이너의 최상위 인터페이스
- 스프링 빈을 관리하고 조회하는 역할
- getBean()을 제공
ApplicationContext
- BeanFactory 기능을 모두 상속받아서 제공
- 빈을 관리하고 검색하는 기능 외 수많은 부가 기능을 제공
- MessageSource: 국제화 기능
- EnvironmentCapable: 환경 변수 (로컬, 개발, 운영 등을 구분해서 처리)
- ApplicationEventPublisher: 이벤트 발행 및 구독 모델 지원
- ResourceLoader: 파일, 클래스패스, 외부(URL) 등에서 리소스를 편리하게 조회
BeanDefinition
빈 설정 메타 정보, 인터페이스
아래는 애노테이션 기반 자바 코드 설정을 사용하는 방법이다.
new AnnotationConfigApplicationContext(AppConfig.class)
- @Bean, <bean> 당 각각 하나씩 구현체 개념으로 메타 정보가 생성된다.
- 스프링 컨테이너는 이 메타 정보를 기반으로 스프링 빈을 생성한다.
- AnnotatedBeanDefinitionReader, XmlBeanDefinitionReader가 각각 BeanDefinition을 생성해 준다.
'Back-End > Spring' 카테고리의 다른 글
[Spring] 싱글톤 컨테이너 - 웹 애플리케이션과 싱글톤 (0) | 2022.03.17 |
---|---|
인프런 스프링 강의 (0) | 2022.03.09 |
[Spring] 스프링 빈 조회 (0) | 2022.03.08 |
[Spring] 🌟 스프링 컨테이너 생성 (0) | 2022.03.07 |
[Spring] 객체 지향 원리 적용: IoC, DI와 컨테이너란? (0) | 2022.03.07 |
댓글