빈 또는 빈 오브젝트는 스프링이 IoC 방식으로 관리하는 오브젝트이다. 스프링을 사용하는 애플리케이션에서 만들어지는 모든 오브젝트가 빈은 아니며, 그중에서 스프링이 직접 생성과 제어를 담당하는 오브젝트만이 빈이다.
스프링의 IoC를 담당하는 핵심 컨테이너를 가리킨다. 빈을 등록, 생성, 조회, 반환하고 그 외에 부가적인 빈을 관리하는 기능을 담당한다. 보통은 빈 팩토리를 바로 사용하지 않고 이를 확장한 Application Context를 이용한다.
빈 팩토리를 확장한 IoC 컨테이너이다. 빈을 등록하고 관리하는 기본적인 기능은 빈 팩토리와 동일하다. 여기에 스프링이 제공하는 각종 부가 서비스를 추가로 제공한다. Application Context는 BeanFactory를 상속한다.
스프링의 설정정보란 Application Context 또는 빈 팩토리가 IoC를 적용하기 위해 사용하는 메타정보를 말한다. 스프링의 설정정보는 컨테이너에 어떤 기능을 세팅하거나 조정하는 경우에도 사용하지만, 그보다는 IoC 컨테이너에 의해 관리되는 빈을 생성하고 구성할 때 사용된다.
IoC 방식으로 빈을 관리한다는 의미해서 빈 팩토리나 Application Context를 IoC 컨테이너라고 한다. 주로 빈 팩토리 관점에서 이야기 할 때는 IoC 컨테이너, Application Context 관점에서 이야기 할 때는 그냥 컨테이너 또는 스프링 컨테이너라고 한다.
토비의 스프링 3.1