Spring IoC 용어 정리
1. 빈
빈 또는 빈 오브젝트는 스프링이 IoC를 관리하는 오브젝트라는 뜻이다.
관리되는 오브젝트 라고 부르기도한다.
하지만 스프링에서 사용하는 모든 오브젝트가 전부 빈은 아니다.
그 중에서 스프링이 직접 생성과 제어를 담당하는 오브젝트만 빈이라고 부른다.
2. 빈 팩토리
스프링 IoC를 담당하는 핵심 컨테이너를 말한다.
빈을 등록하고, 생성하고, 조회하고 돌려주고, 그외에 부가적으로 빈을 관리한다.
보통은 이 빈 팩토리를 바로 사용 하지않고 이를 확장한 애플리케이션 컨텍스트를 통해 관리한다.
3. 애플리케이션 컨텍스트
빈 펙토리를 확장한 IoC 컨테이너이다. 빈을 등록하고 관리하는 기본적인 기능은 빈팩토리와 동일하다.
여기에 추가로 스프링이 제공하는 각종 부가 서비스를 추가로 제공한다.
빈 펙토리라고 부를때는 주로 빈의 생성과 제어의 관점에서 얘기하는 것이고, 애플리케이션 컨텍스트라 지칭할때는 스프링이 제공하는
애플리케이션 지원 기능을 모두 포함해서 이야기하는것이라고 보면된다.
설정 정보/ 설정 메타정보
스프링에서 설정정보란 애플리케이션 컨텍스트 또는 빈팩토리가 IoC를 적용하기 위해 사용하는 메타정보를 말한다.
설정정보는 컨테이너에 어떤정보를 세팅하거나 조정하는경우에도 사용하지만, 주로 IoC 컨테이너에 의해 관리되는 애플리케이션 오브젝트를 생성하고 구성할때 사용된다.
애플리케이션의 전체그림이 그려진 청사진 이라고도 한다.
컨테이너 / IoC 컨테이너
IoC 방식으로 빈을 관리한다는 의미에서 애플리케이션 컨텍스트나 빈 펙토리 를 컨테이너 또는 IoC 컨테이너 라고한다.
후자는 빈 펙토리 관점에서 이야기하는것이고 그냥 컨테이너 스프링 컨테이너라고 할때는 애플리케이션 컨텍스트를 가리키는것이다.
컨테이너라는 말 자체가 IoC의 개념을 담고있기때문에 스프링 컨테이너 라고 부르는 것을 선호하는 사람들이 많다.
심지어 스프링이라고 부를때도 스프링 컨테이너를 가르키는것일때도 있다.
스프링 프레임워크
스프링 프레임워크는 IoC 컨테이너, 애플리케이션 컨텍스트를 포함해서 스프링이 제공하는 모든 기능을 통틀어서 말할때 주로 사용한다.
출처 : [서적] 토비의 스프링