Image
Android/Dependency Injection

[Dagger2] Dagger2 정리

Dagger2란?

Dagger2란 Java/Kotlin을 위한 의존성 주입 프레임워크이다. Dagger2에 Hilt를 결합한 버전인 Dagger-Hilt가 대세가 되고 있고, 다른 DI Framework과는 달리 컴파일 타임에 연산을 처리하여 런타임의 성능이 다른 DI Framework에 비해 나으므로 Dagger-Hilt가 대세가 될 것은 명백해 보인다. 

 

하지만 다른 DI Framework들에 비해 새로운 개념이 많이 나와서 러닝커브가 높아 배우는데 시간이 오래 걸려 포기를 하고는 한다. (실제로 내가 Dagger2를 공부하는데도 시간이 오래 걸렸다ㅠ)

 

나는 공부를 하는데 왜 오래 걸리는지 이유를 찾았고, 그 이유로

  • 명확한 예시가 없다.
  • 설명이 모호하다.
  • 지식이 파편화 되어 있다. 설명이 여러곳에 퍼져있다.

위 세가지가 가장 크다고 느꼈다. 따라서 이에 대한 점을 보완하여 기초부터 차근차근 Dagger2를 익히도록 다음과 같은 목차로 글을 써보았다. 이 글이 많은 개발자들에게 도움이 되길 바란다.

 

목차

0. 의존성 주입이란 무엇이며 왜 필요한가?

1. 의존성 주입과 Dagger2

2. Dagger2에서 의존성 주입이 일어나는 방식

3. Component Injection 메서드 - 프로비전(Provision)

4. Component Injection 메서드 - 멤버 인젝션(Member Injection)

5. @Named Annotation을 이용한 Provider 구분

6. 오브젝트 그래프란?

7. Component Builder와 @BindsInstance

8. Scope를 이용한 객체 재사용 범위 설정

9. SubComponent를 이용해 컴포넌트간 의존 관계 설정

[Dagger2 심화] 1. @Provides의 특수한 형태 @Binds

 

 

반응형

 

이 글의 저작권은 '조세영의 Kotlin World' 에 있습니다. 글, 이미지 무단 재배포 및 변경을 금지합니다.

 

 

Kotlin, Android, Spring 사용자 오픈 카톡

오셔서 궁금한 점을 질문해보세요!
비밀번호 : kotlin22

open.kakao.com