새소식

인기 검색어

Programming/Spring

[Spring] DI와 IOC

  • -
IOC (Inversion of control)

 

DI(의존성 주입)을 이해하기 위해서는 IOC(제어의 역전)의 개념을 알고 있어야 한다.

프레임워크를 사용하지 않고 라이브러리를 활용해 개발자가 프로그램의 흐름을 제어할 수 있다.

스프링에서는 이런 프로그램의 흐름을 개발자가 아닌 프레임워크가 주도하게 된다.

즉 객체의 생성, 생명주기 관리 등을 컨테이너가 맡아서 하는 것을 의미한다.

제어권이 컨테이너로 넘어가게 되고, 이것을 제어권의 흐름이 바뀌었다고 하여 제어의 역전이라고 한다.

제어권이 컨테이너로 넘어옴으로써 DI(의존성 주입), AOP(관점 지향 프로그래밍) 등이 가능하게 된다.

 

DI(Dependency Injection)

의존성 주입은 객체간의 의존성을 자신이 아닌 외부에서 주입하는 것을 의미한다.

내부에서 의존 관계를 결정하는 것이 아닌, 외부에서 의존관계가 결정된 객체를 가져와서 사용하도록 조립한다.

결합력이 낮기 때문에 객체를 바꾸는게 용이하다.

이를 위한 방법들로는 Setter 주입과 생성자를 통한 주입이 존재한다.

'Programming > Spring' 카테고리의 다른 글

[Spring] 영속성 컨텍스트  (0) 2022.12.23
[Spring] DTO  (0) 2022.12.22
[Spring] Annotation (2)  (1) 2022.12.08
[Spring] Annotation (1) (Lombok, JPA)  (0) 2022.12.08
[Spring] Spring Framework란?  (0) 2022.12.08
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.