finerss's world!

Spring IOC

공부/Spring2011. 12. 12. 22:19

-Spring 에서의 IOC

Spring 프레임워크를 보면 Lightweight Container 라는 단어나 IoC라는 단어가 자주 나온다.

Spring 프레임워크를 이해하기 위해서 가장 먼저 이해해야 하는 것은 IOC 개념이다. 또한  이 IOC 개념이 Container 기능이 된다.

Spring 프레임워크에는 여러가지 모듈이 있는데 IoC모듈은 모든 Spring 모듈의 가장 기본적인 Core 기능을 제공함으로 그만큼 중요하다고 할수 있다.

-Container, Lightweight Container 란

컨테이너의 기본 틍징을보면
Lifecycle Management
Lookup
Configuration
Depenency Resolution
Thread Management
Object Pooling
Clustering Management
Remotion
Exposing remote services
Customization and extensibility

등의 기능을 포함 한다는 것이다.

컨테이너는 여러가지 면에서 반드시 필요한데 첫쨰로 컴포넌트/오브젝트의 자유로운 삽입(Pluggability)이 가능하도록 하기위한
calling code 의 독립성 떄문이다. 둘쨰는 서비스의 lookup이나 configuration이 일관성을 갖도록 하기 위한 것이다.
셋쨰는 단일화된 서비스의 접근방법을 제공하기 위한것이다. 예로 개발자 각자 자기만의 스타일로 싱글톤이나 팩토리를 만들어 쓸 필요가 없어야 한다는 것이다. 넷쨰는 비지니스 오브젝트에 부가적으로 필요로하는 각족 enterprise service를 제공하기 위해서이다.

그렇다면 lightweight Container 의 특징은 무엇일까? 일반 컨테이너처럼 애플리케이션 코드를 관리해 주지만 그 코드 내에 컨테이너에 대한 의존적인 부분들이 필요 없도록 해준다. 코드 내에 컨테이너에서 동작하기 위해서 특별히 필요로하는 부분이 없기떄문에 가볍다고 할수있는것이다.
컨테이너를 알지못하는 오브젝트 또는 알 필요도 없는 오브젝트를 가능하게 해준다는 것이다. 이는 컨테이너 내에 오브젝트를 배치(deploy) 하기 위한
복잡한 과정이 없다는 것을 의미한다. 컨테이너  그 자체로 가볍다는것을 의미한다.

'공부 > Spring' 카테고리의 다른 글

About Spring  (0) 2011.12.12
엔티티 빈  (0) 2011.07.26
RMI(원격 메소드 호출, Remote Method Invocation)  (3) 2011.07.04