마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

대거2 의존성 주입 질문

0 추천

대거 관련질문입니다

@Module
public class MyModule {
    @Provides
    String provideHelloWorld() {
        return "hello world";
    }

//    @Provides
//    String provideHelloWorld1() {
//        return "hello world1";
//    }
}

이렇게 모듈클래스가 있고

@Component(modules = MyModule.class)
public interface MyComponent {
    String getString();
}

컴포넌트

public void TestHelloWorld() {
    MyComponent component = DaggerMyComponent.create();
    System.out.println(component.getString());
}

이렇게 있는경우 저기 주석되어있는 부분을 풀면 에러가 나던데.. 하나의 모듈클래스에서 2개는 못받는건가요? 만약 저렇게 2개가 필요한경우는 어떻게 해야되는건지 

component.getstring하는데 hello world가 찍히길래 어떻게 주입이 되는건지 이해가 안되서 2개는 되나 해봤는데 잘 이해가 안됩니다

수원통학러 (1,270 포인트) 님이 9월 6일 질문

1개의 답변

0 추천
정의하신 object가 같은 String타입이라 Dagger는 어느 것을 injection할지 알 수가 없습니다. 따라서 어떤 것을 injection 하겠다는 꼬리표같은 것을 붙여줘야 합니다. Qualifier라고 하는데, 아래 블로그에 잘 정리된 것 같네요.

https://medium.com/mindorks/qualifiers-in-dagger-android-development-c0574cca87a2
spark (72,310 포인트) 님이 9월 6일 답변
...