Sobes.tech
Junior — Middle

Qual anotação no Dagger é usada para injetar uma dependência externa em um componente?

sobes.tech IA

Resposta da IA

Para injetar uma dependência externa num componente Dagger, utiliza-se a anotação @Component.Builder ou @Component.Factory, e para passar a própria dependência, usa-se a anotação @BindsInstance.

Por exemplo, se precisar passar um objeto criado fora do Dagger, pode usar @BindsInstance no construtor do componente:

@Component
interface MyComponent {
    void inject(MyClass target);

    @Component.Builder
    interface Builder {
        @BindsInstance
        Builder externalDependency(ExternalDependency dep);
        MyComponent build();
    }
}

Assim, @BindsInstance permite injetar uma dependência externa no grafo de dependências do componente.