스프링 빈을 조회하는 다양한 방법에 대해 코드로 살펴보자.
* BeanFactory
BeanFactory는 스프링 컨테이너의 최상위 인터페이스
스프링 빈을 관리하고 조회하는 역할을 담당한다.
getBean() 메서드를 제공한다.
* ApplicationContext
BeanFactory의 기능을 모두 상속받아서 사용한다.
ApplicationContext가 BeanFactory를 상속받아서 사용한다면 그 둘의 차이에 대해 알아보자.
ApplicationContext는 BeanFactory에서 제공하는 빈 관리, 조회 기능 뿐만 아니라 어플리케이션 개발에 필요한 부가 기능들을 제공한다. -> 국제화 기능, 환경 변수, 이벤트, 리소스 조회 등등!
즉, ApplicationContext = BeanFactory + a 라고 보면 된다. BeanFactory나 ApplicationContext를 스프링 컨테이너라고 함!
물론, 위의 예제는 애노테이션 기반으로 자바 코드 설정을 사용했지만, xml 형식으로도 스프링 빈을 설정할 수 있다!
그럼 여기에서 생기는 의문점이 있어야 한다!
스프링은 xml도 지원하고, 애노테이션도 지원하고..이처럼 다양한 설정 형식을 어떻게 지원하는 것일까?
마치 매개변수의 타입에 따라 동작이 달라지는 오버로딩처럼 동작하는 무언가가 있는 것일까?
다음 포스팅에..
'Programming > Spring' 카테고리의 다른 글
[MVC] 동시요청 - 멀티쓰레드 (Multi-Thread) (0) | 2022.06.07 |
---|---|
[Spring] BeanDefinition (0) | 2022.02.07 |
[Spring] ApplicationContext, 스프링 컨테이너, 스프링 빈(Bean) (0) | 2022.02.06 |
[스프링의 정석] HTTP 요청과 응답 (0) | 2021.10.28 |
[스프링의 정석] 클라이언트와 서버 (0) | 2021.10.27 |