1. 빈
- 빈 또는 빈 오프젝트는 Spring이 IoC 방식으로 관리하는 오브젝트
- 애플리케이션에서 만들어지는 모든 오브젝트가 빈은 아니며, Spring이 직접 생성과 제어를 담당하는 오브젝트만을 빈이라고 한다.
2. 빈 팩토리
- Spring의 IoC를 담당하는 핵심 컨테이너
- 빈을 등록하고, 생성하고, 조회하고 돌려주고, 그 외에 부가적인 빈을 관리하는 기능을 담당한다.
- 보통은 빈 팩토리가 아닌 빈 팩토리를 확장한 애플리케이션 컨텍스트 이용
- BeanFactory라고 붙여쓰면 빈 팩토리가 구현되고 있는 가장 기본적인 인터페이스의 이름이 되며, 이 인터페이스에 getBean()과 같은 메소드가 정의되어 있다.
3. 애플리케이션 컨텍스트
- 빈 팩토리를 확장한 IoC 컨테이너
- 빈을 등록하고 관리하는 기본적인 기능은 빈 팩토리와 동일하나, 여기에 Spring이 제공하는 각종 부가 서비스를 추가로 제공함
- 빈 팩토리라고 부를 때는 주로 빈의 생성과 제어의 관점에서 이야기하는 것이고, 애플리케이션 컨텍스트라고 할 때는 스프링이 제공하는 애플리케이션 지원 기능을 모두 포함해서 이야기하는 것이다.
- ApplicationContext라고 적으면 애플리케이션 컨텍스트가 구현해야 하는 기본 인터페이스를 가리키는 것이며, BeanFactory를 상속한다.
4. 설정정보/설정 메타정보
- 애플리케이션 컨텍스트 또는 빈 팩토리가 IoC를 적용하기 위해 사용하는 메타정보를 말한다.
- 실제로 스프링의 설정정보는 컨테이너에 어떤 기능을 세팅하거나 조정하는 경우에도 사용하지만, IoC 컨테이너에 의해 관리되는 애플리케이션 오브젝트를 생성하고 구성할 때 사용된다.
5. IoC 컨테이너
- IoC 방식으로 빈을 관리한다는 의미에서 애플리케이션 컨텍스트나 빈 팩토리를 컨테이너 또는 IoC 컨테이너라고 한다.
- 주로 컨테이너라고 할 때는 애플리케이션 컨텍스트를 가리킨다.
6. 스프링 프레임워크
- IoC 컨테이너, 애플리케이션 컨텍스트를 포함하여 Spring이 제공하는 모든 기능을 통틀어 말할 때 사용된다.
- 줄여서 스프링이라고도 한다.
📗 참고서적
- 토비의 스프링 3.1 [Vol.1 스프링의 이해와 원리]