Junior — Middle
Explain what components are in the Dagger library and how they are used for dependency injection
sobes.tech AI
Answer from AI
In Dagger, a component is an interface that connects dependency providers (modules) and consumers (classes where dependencies are injected). Components define which dependencies are available for injection and manage their lifecycle.
Using components allows:
- To specify which objects can be obtained through dependency injection.
- To connect modules that provide specific implementations.
- To manage the scope of dependencies (e.g., singleton).
Example:
@Component(modules = NetworkModule.class)
public interface AppComponent {
void inject(MainActivity activity);
}
Here, AppComponent connects the NetworkModule and allows dependencies to be injected into MainActivity.