2020/05/30 - [🌎Web Application/Spring] - [Spring] Spring 이란
2020/05/30 - [🌎Web Application/Spring] - [Spring] DI (Dependency Injection) part 1
2. 스프링의 DI
스프링 프레임워크는 객체의 생성,소멸과 객체간의 의존관계를 제어한다.
전에는 개발자(우리:==주체)가 직접 코드로 객체를 생성 소멸하고 그 객체간의 의존관계를 제어 했다면,
스프링은 스프링이 직.접 제어한다.
개발자가 객체를 제어했던 것을, 스프링이 제어하게 되었으므로
<<제어권>>이 개발자에서 스프링으로 <<역전>>된 것이다.
그러므로 스프링의 특징 중 IoC(Inversion of Control) : 제어의 역전 이라고 부른다.
이 때, IoC 되도록 하는 방식을 "DI , 의존성 주입"이라 한다.
== > 제어권이 역전 되도록(IoC) 스프링 프레임워크(컨테이너)가 연관 관계를 직접 규정하는 것이다.
== > DI (의존성 주입) 스프링이 직접 의존성을 주입한다.(IoC)
러면 코드에서 직접적인 연관 관계가 발생하지 않으므로 (개발자가 직접 제어하는 것이 아니므로)
클래스들의 변경이 자유로워 진다 (의존성이 낮아진다 == 약한 결합)
"의존성이 높다"는 기존의 문제점을 IoC를 적용한 DI를 이용해 해결.
< 정리 >
전 ) 개발자가 직접 클래스 간의 연관관계를 코드를 통해 규정함 => 결합도가 높다는 문제점
후 ) 개발자가 아닌 스프링이 직접 제어하게 됨으로써 의존성이 낮아짐
'⚙️Backend > Spring' 카테고리의 다른 글
[Spring] DI (Dependency Injection) part 5 (0) | 2020.05.30 |
---|---|
[Spring] DI (Dependency Injection) part 4 (0) | 2020.05.30 |
[Spring] DI (Dependency Injection) part 3 (0) | 2020.05.30 |
[Spring] DI (Dependency Injection) part 1 (0) | 2020.05.30 |
[Spring] Spring 이란 (0) | 2020.05.30 |