Hyunebee
스프링의 핵심 원리 이해 - 스프링 컨테이너와 스프링 빈 본문
스프링 컨테이너는 @Configuration붙은 것은 구성 정보로 사용한다.
@Bean이라 적힌 메서드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록한다.
@Bean에 적힌 메서드의 명으로 컨테이너에 등록한다. 등록된 빈은 applicationContext.getBean()으로 찾아서 사용할 수 있다.
ApplicationContext는 인터페이스 이며 보통 스프링 컨테이너라고 한다.
우리는 new 키워드를 사용해서 AppConfig.class를 구성정보로 지정해서 사용한다.
Spring Container에서 생성된 빈들은 서로의 의존관계를 설정한다.
스프링 빈 조회 - 기본
getBean(빈이름, 타입)
getBean(타입) if 조회 대상이 빈에 없으면 예외(NoSuchBeanDefinitionException)를 발생
스프링 빈 조회 - 동일한 타입이 둘 이상
getBeansOfType() - 해당 타입의 모든 빈을 조회할 수 있다.
또는 빈의 이름을 입력하여 부르는 방법도 있다.
스프링 빈 조회 - 상속 관계
부모타입을 조회하면 자식 타입도 함께 조회한다.
BeanFactory와 ApplicationContext
BeanFactory는 스프링 컨테이너의 최상위 인터페이스이다.
대부분의 기능을 제공한다.
그렇다면 BeanFactory와 ApplicationContext의 차이는 무엇일까?
일단 ApplicationContext는 BeanFactory의 모든 기능을 상속받아서 제공할 수 있다. 이외로
1.메시지소스를 활용한 국제화 기능
2.환경변수
3.애플리케이션 이벤트
4.편리한 리소스 조회
'Spring' 카테고리의 다른 글
스프링의 핵심 원리 이해 - 컴포넌트 스캔 (0) | 2022.01.05 |
---|---|
스프링의 핵심 원리 이해 - 싱글톤 컨테이너 (0) | 2022.01.04 |
스프링의 핵심 원리 이해 - 객체 지향 원리 적용 (0) | 2022.01.04 |
스프링의 핵심 원리 이해 - 비즈니스 요구 사항과 설계 (0) | 2022.01.04 |
스프링 핵심 원리 이해 - 객체 지향과 스프링 (0) | 2022.01.04 |