본문 바로가기

dagger2

[안드로이드] hilt code-lab 안녕하세요 남갯입니다. 오늘은 hilt code lab 에 대해 공부한것을 정리해보도록 하겠습니다. 힐트는 기존 Dagger(단검)가 사용하기 복잡하여 많은 사용자들이 사용을 못하고 있는부분을 Hilt(단검 손잡이) 더 쉽게 사용하도록 만들어주는 라이브러리입니다. 대부분 ServiceLocater 패턴을 통해 런타임에 생성해서 주입하거나 Koin을 이용하거나, 혹은 Dagger를 이용하겠지만 Hilt를 이용하면 Dagger를 더 쉽게 이용 가능합니다. developer.android.com/codelabs/android-hilt?hl=ko#1 Using Hilt in your Android app | Android 개발자 | Android Developers In this codelab, you'll b..
[dagger] 대거 - 2 정리용 범위 지정하기 각각의 컴포넌트는 @Scope 어노테이션을 통해 범위 지정이 가능하다. gc가 발생하는 상황이 되기전까지 단일 인스턴스를 보유한다는 의미다. @Singleton 사용하기 일반적으로 @Singleton 어노테이션을 사용해서 범위를 지정하여 객체를 재사용 가능하다. @Singleton @Component(modules = [SingletonModule::class]) interface SingletonComponent{ fun getString() : String } @Module class SingletonModule{ @Provides @Singleton fun provideString() : String{ return "" } } @Test fun testSingleton() { val ..
[dagger] 대거 - 1 정리용 안녕하세요 남갯입니다. https://cmcmcmcm.blog/2017/07/27/didependency-injection-%ec%99%80-dagger2/ 대거의 annotation 4가지 @Compenent: 실제 의존성 주입이 구현될 인터페이스나 추상클래스에 사용되는 annotation @Module : 의존성 관계를 설정하는 클래스에 사용되는 annotation @Provides : 객체를 제공하기 위한 메서드에 달아주는 annotation @Inject : DI를 진행할 멤버변수와 생성자에 달아준다. @Module public class CoffeeMakerModule { @Provides Heater provideHeater(){ return new A_Heater(); } @Provides ..