스프링 -DI / IOC 란?

Shaun·2021년 10월 13일
1

SpringBoot

목록 보기
3/21

Spring Boot부터 배워서 사용할때 Spring관련부분에 대해 곂치는 부분이 많았고 궁금했던 점이 많았다. 이번 스프링 기본을 통해 확실히 알고 넘어가자.

DI란?

  • Dependency Injection 의존성 주입 의 약자이다.

의존성 주입이라 하면 말이 너무 어렵게 느껴지고 확 와 닿지 않는다 쉽게 알아보자!

  • 이런 형식의 클래스가 있다고 해보자. 왼쪽은 A객체를 만들면 b가 생성되는 일체형!

  • 오른쪽은 외부에서 b를 끼워 넣는 부품형 이라고 볼수 있다.

  • (상) 일체형보다는 (하) 부품형을 기업에서는 선호한다. 왜냐하면 상황에 맞게 다양하게 부품(Denpendency) 를 갈아낄수 있고 다양하게 사용할수 있기 떄문이다.

Injection 종류(결합 방법)

Setter Injection(상)

  • 부품형은 윗 부분처럼 setter을 통해서 외부에서 끼워 넣을수 있다.

Construction Injection(하)

  • 말 그대로 생성자를 통한 주입이다.

-> 말그대로 Denpendency는 부품 같은 존재이다. 부품만 있으면 실행이 안돼니 우리는 조립을 해야한다!
-> 그 조립을 대신해주는 녀석이 Spring 이다!

IOC 컨테이너란?

  • 쉽게 말하면 Spring이 Dependency(부품)들을 다 조립해서 넣어두는 공간이라 생각하면 쉽다.

  • 위에는 일체형 즉 a를 만들면 그안에 b가 그안에 c가 그안에 d가 자동적으로 생성된다.

  • 아래는 부품형, 즉 작은 단위로부터 거꾸로 올라가는 형식이다. 그래서 그완성품을 담는 그릇 Inversion of Control 즉 IOC 컨테이너라 부르는 것이다.

profile
호주쉐프에서 개발자까지..

0개의 댓글