출처 : 토비의 스프링 3.1 Vol.1
* Bean
빈 또는 빈 오브젝트는 스프링이 IoC 방식으로 관리하는 오브젝트라는 뜻이다.
관리되는 오브젝트managed object 라고 부르기도 한다.
주의할 점은 스프링을 사용하는 애플리케이션에서 만들어지는 모든 오브젝트가 다 빈은 아니라는 사실이다.
그 중에서 스프링이 직접 그 생성과 제어를 담당하는 오브젝트만을 빈이라고 부른다.
* Bean factory
스프링의 IoC를 담당하는 핵심 컨테이너를 가리킨다.
빈을 등록하고, 생성하고, 조회하고 돌려주고, 그 외에 부가적인 빈을 관리하는 기능을 담당한다.
보통은 이 빈 팩토리를 바로 사용하지 않고 이를 확장한 애플리케이션 컨텍스트를 이용한다.
BeanFactory라고 붙여쓰면 빈 팩토리가 구현하고 있는 가장 기본적인 인터페이스의 이름이 된다.
이 인터페이스에 getBean()과 같은 메소드가 정의되어 있다.
* Application context
빈 팩토리를 확장한 IoC 컨테이너다. 빈을 등록하고 관리하는 기본적인 기능은 빈 팩토리와 동일하다.
여기에 스프링이 제공하는 각종 부가 서비스를 추가로 제공한다.
빈 팩토리라고 부를 때는 주로 빈의 생성과 제어의 관점에서 이야기 하는 것이고,
애플리케이션 컨텍스트라고 할 때는 스프링이 제공하는 애플리케이션 지원 기능을 모두 포함해서 이야기 하는 것이라고 보면 된다.
스프링에서는 애플리케이션 컨텍스트라는 용어를 빈 팩토리보다 더 많이 사용한다.
ApplicationContext라고 적으면 애플리케이션 컨텍스트가 구현해야 하는 기본 인터페이스를 가리키는 것이기도 하다.
ApplicationContext는 BeanFactory를 상속한다.
* Configuration metadata
스프링의 설정정보란 애플리케이션 컨텍스트 또는 빈 팩토리가 IoC를 적용하기 위해 사용하는 메타정보를 말한다.
영어로 'configuration' 이라고 하는데, 이는 구성정보 내지는 형상정보라는 의미다.
실제로 스프링의 설정정보는 컨테이너에 어떤 기능을 세팅하거나 조정하는 경우에도 사용하지만,
그 보다는 IoC 컨테이너에 의해 관리되는 애플리케이션 오브젝트를 생성하고 구성할 때 사용된다.
애플리케이션의 형상 정보라고 부르기도 한다. 또는 애플리케이션의 전체 그림이 그려진 청사진이라고도 한다.
* Container(IoC Container)
IoC 방식으로 빈을 관리한다는 의미에서 애플리케이션 컨텍스트나 빈 팩토리를 컨테이너 또는 IoC 컨테이너라고도 한다.
후자는 주로 빈 팩토리의 관점에서 이야기하는 것이고, 그냥 컨테이너 또는 스프링 컨테이너라고 할 때는
애플리케이션 컨텍스트를 가리키는 것이라고 보면 된다.
컨테이너라는 말 자체가 IoC의 개념을 담고 있기 때문에 이름이 긴 애플리케이션 컨텍스트 대신에
스프링 컨테이너라고 부르는 걸 선호하는 사람들도 있다.
또 컨테이너라는 말은 애플리케이션 컨텍스트보다 추상적인 표현이기도 하다.
애플리케이션 컨텍스트는 그 자체로 ApplicationContext 인터페이스를 구현한 오브젝트를 가리키기도 하는데,
애플리케이션 컨텍스트 오브젝트는 하나의 애플리케이션에서 보통 여러 개가 만들어져 사용된다.
이를 통틀어서 스프링 컨테이너라고 부를 수 있다.
때로는 컨테이너라는 말을 떼고 스프링이라고 부를 때도, 바로 이 스프링 컨테이너를 가리키는 것일 수 있다.
예를 들어 '스프링에 빈을 등록하고'라는 식으로 말하는 경우에 스프링이라는 말을 스프링 컨테이너 또는 애플리케이션
컨텍스트를 가리키는 말이다.
* Spring Framework
스프링 프레임워크는 IoC 컨테이너, 애플리케이션 컨텍스트를 포함해서 스프링이 제공하는 모든 기능을 통틀어 말할 때 주로 사용한다.
그냥 스프링이라고 줄여서 말하기도 한다.
'JAVA STUDY' 카테고리의 다른 글
.toString() 값 비교가 가능할까? (0) | 2017.03.20 |
---|---|
HTTP 상태코드 (0) | 2017.02.22 |
토비의 스프링 3.1 공부! (0) | 2017.02.20 |
Random함수를 이용한 JAVA 가위바위보 게임 소스 (0) | 2016.10.26 |
정보처리기사 실기 2015년 2회차 알고리즘 (0) | 2016.10.06 |