본문 바로가기
Team Project/TIL, WIL

TIL(36) 21-11-08 : Spring DI / IoC

by 감사쟁이야 2021. 11. 9.

Facts

✅  스프링의 중요한 내부 기능인 DI, loC에 대해 이해

✅  스프링 프레임워크에 대해 이해

 

Findings

🧩   DI, loC

DI

DI란 클래스 사이에 존재하는 의존관계를 주입해주는 것을 말한다.
Spring에서 관리하는 객체를 Bean이라고 부르는데,

이를 Spring Framework가 직접 생성해서 필요한 곳에 주입해준다.

 

🤔 의존관계?

어떤 클래스가 다른 클래스에 접근할 수 있는 경로를 가지거나

다른 클래스의 객체의 메소드를 호출하는 경우 두 클래스 사이에 의존관계가 있다고 말합니다.

 

IoC

IoC는 프로그램의 제어의 흐름을 관리하는 주체가 개발자에서 프레임워크로 역전되는 것을 말한다.
Spring에서는 Spring Container에서 객체를 생성하고 관리한다.

 

🤔 DI / IoC가 필요한 이유는?

수많은 객체들을 편리하게 관리하고 변경에 유연한 코드를 가져가기 위함이다.
IoC의 예시 중 하나는 개발자가 직접 객체를 관리하지 않고
스프링 컨테이너에서 직접 객체를 생성하여 해당 객체에 주입 시키는 것이다.
객체를 관리해주는 컨테이너와 그 외 내가 구현 하고자 하는 부분으로 각각 관심을 분리하면,
변경에 유연한 코드를 작성 할 수 있는 구조가 되기 때문에 제어를 역전한다.