parkkhee.log
로그인
parkkhee.log
로그인
영상 후기 - 오찌, 야호의 DI와 IoC
khp963
·
2023년 3월 19일
0
영상후기
0
IoC란 Iversion of Control 제어의 역전
직접 객체를 생성하여 코드를 "제어"(관리)
A에서 B를 받아서 정의 하고 있다. == 제어의 역전 (외부에서 관리하는 것.)
IoC는 왜 필요할까?
역할과 책임을 분리해 응집도를 높이고 결합도를 낮추며, 결과적 객체지향 원칙을 잘 지키는 코드 작성 가능!
호출 당하기를 기다리는 모습.
DIP Dependency Inversion Principle 의존 역전 원칙
상위 레벨의 모듈은 절대 하위 레벨 모듈에 의존하지 않는다. 둘 다 추상화에 의존해야 한다.
DI Dependency Injection 의존성 주입
의존성을 외부에서 주입해주는 것. (대표적 3가지 생성자 주입, Setter 주입, Interface 주입)
IoC는 원칙중 하나이고, DI는 IoC원칙을 나타내는 디자인 패턴중 하나이다.
스프리에서 컨트롤러는 따로 생성자를 만들지 않지! 스프링이 자동으로 생성해준다.
스프링 빈으로 등록되면 스프링이 자동으로 생성해준다. 이 때 필요한 의존성도 주입해준다.
스프링 의존성 자동 주입 방법? @Autowired 어노테이션 == 필드주입
필드주입 별로 추천 하지 않는다. 우리작 직접 의존성 못 넣는다.
DI에서의 setter 주입은 생성자메서드에 @Autowired 붙인다. 대신 final 로 선언할 수 없고, 의존성 불변을 보장할 수 없다.
DI에서의 생성자 주입 공식적으로 추천하는 방법. (final 붙여서 선언)
생성자 주입 방식만 null이 안들어간다.
@Qualifier("이름") 이렇게 명시해서 주입시 구분 가능.
@Primary 우선적으로 주입. -> 기본값이야.
@Qualifier > @Primary
parkkhee
순우리말 백엔드 개발자
이전 포스트
영상 후기 - 관계형 데이터 모델링 - 4.3. ERD의 구성요소
다음 포스트
영상 후기 - 파즈의 OSI 7 Layer
0개의 댓글
댓글 작성