스프링 IoC의 용어 정리
빈(Bean)
- 스프링에서 IoC 방식으로 관리하는 오브젝트
- 스프링 컨테이너를 통해 IoC가 적용되는 빈을 스프링 빈이라고도 함.
- 모든 오브젝트가 bean은 아니다. 스프링이 직접 생성과 제어를 담당하는 오브젝트가 bean이다.
빈 팩토리(Bean Factory)
- 스프링 IoC를 담당하는 핵심 컨테이너
- bean을 등록, 생성, 조회, 반환 등 bean을 관리하는 기능
- BeanFactory 인터페이스에 getBean()와 같은 메소드가 있음.
애플리케이션 컨텍스트 (application context)
- 빈 팩토리를 확장한 IoC 컨테이너
- 빈 팩토리, 스프링 컨테이너, IoC 컨테이너 등 다양하게 불린다.
- 애플리케이션 컨텍스트 = 빈 팩토리 + 각종 부가 서비스
- ApplicationContext 인터페이스는 BeanFactory를 상속한다.
- 별도의 설정 정보를 통해서 bean에 대한 제어 작업을 한다.
- 팩토리로 생성한 설계도에 이러한 설정 정보와 애플리케이션 컨텍스트가 담겨 있다.
설정 정보 / 설정 정보 메타
- 애플리케이션 컨텍스트가 IoC 적용을 위해 사용하는 정보
- 컨테이너에 어떤 기능을 세팅하기 위해서도 사용되지만, 기본적으로 IoC 컨테이너에 의해 관리되는 오브젝트를 생성, 관리하기 위해 사용
컨테이너 / IoC 컨테이너