garamflow.log
로그인
garamflow.log
로그인
[Spring] DI(의존성 주입)와 IoC(제어의 역전)에 대해서
GaramFlow
·
2023년 10월 30일
팔로우
0
0
DI, IoC
DI와 IoC에 대해서 알아본다.
해당 개념의 구현방법에 대해서 알아본다.
1) 제어의 역전, IoC (inversion of Control)
(1) IoC란?
IoC를 번역하면
제어의 역전
이다.
프로그램의 제어 흐름을 사용자의 코드가 아니라 외부 시스템이 관리하는 설계 원칙이다.
(2) IoC의 장점
IoC를 사용하면 코드가 모듈화가 되고 테스트하기 쉬워진다.
컴포넌트간의 결합도가 낮아지고 코드 재사용성이 높아진다.
(3) IoC의 예시
Spring Framework에서 스프링 컨테이너는 객체 생성과 의존성 관리, 생명주기 등을 제어한다.
2) 의존성 주입, DI (Dependency Injection)
(1) DI란?
IoC의 한 형태로 객체가 필요로 하는 의존성을 외부에서 주입하는 방식이다.
객체가 필요로 하는 다른 객체들이나 설정을 프레임워크 등에서 생성하여 전달해준다.
(2) DI 구현하기
생성자 주입하기
: 의존성이 생성자를 통해 주입된다.
세터 메소드 주입하기
: 세터 메소드를 통해 의존성을 주입한다.
필드 주입하기
: 필드에 직접 의존성을 주입한다.
(3) DI의 예시
Spring Framework에서 DI를 사용해서 객체 간 의존성을 관리한다.
@Autowired
어노테이션을 사용해서 필요한 의존성을 주입받을 수 있다.
3) IoC와 DI
IoC는 프로그램의 제어 흐름을 외부에 위임하는 더 큰 개념이다.
DI는 IoC의 원칙을 구현하는 방법으로 IoC를 실현하는 한 가지 수단이다.
GaramFlow
간단한 지식 저장 및 공유를 위한 블로그입니다.
팔로우
이전 포스트
API와 Rest API에 대하여
다음 포스트
스프링의 레이어드 아키텍처 (Layered Architecture)
0개의 댓글
댓글 작성