Spring Framework/정리

[Spring] 컨테이너와 IOC, DI란?

포포015 2021. 8. 25. 21:26

스프링을 공부하면 처음 접하는 용어들이 있다. 컨테이너, IOC,DI 등 용어에대해 간단하게 다뤄보겠다.

 

 

IoC (Inversion of Control)란?

Ioc는 제어의 역전이라는 뜻이다. 프로그램의 흐름을 개발자가 제어하지않고,

프로그램이나 프레임워크가 직접제어한다는말이다.

컴포넌트의 의존관계결정, 객체의 생명주기 같은 일을 대신 수행해준다.

흔히 스프링의 프레임워크를 사용해 개발할때 여러가지 Bean을 사용할것이다.

사용자의 요청이 들어오면, 요청에 알맞는 Bean을 생성해서 필요한일을 하도록 시킨다.

해당 Bean이 할일을 마치면 Bean을 삭제해준다.

하지만 이런 객체의 생성과 소멸이 어떻게 이루어 지는지 알 필요가없다.

스프링 컨테이너가 관리해주기때문에 개발자는 비즈니스로직 짜는거에 집중할수있다.

 

컨테이너란?

컨테이너 혹은 IoC컨테이너라고 부른다. 컨테이너는 코드의 처리 과정을 위임 받은 독립적인 존재이다.

프로그래머가 작성한 코드를 스스로 참조한뒤 알아서 객체의 생성과 소멸(객체의 생애주기)를 관리해준다.

 

DI(Dependency Injection)란?

DI는 의존성 주입이라는 뜻이다.

각 클래스의 의존관계를 Bean 설정 정보를 바탕으로 컨테이너가 자동으로 생성과주입을해준다.

 

'Spring Framework > 정리' 카테고리의 다른 글

[Spring] 스프링 MVC 이란?  (0) 2021.05.04