See: Description
| Interface | Description | 
|---|---|
| Lazy<T> | 
 A handle to a lazily-computed value. 
 | 
| MembersInjector<T> | 
 Injects dependencies into the fields and methods on instances of type  
T. | 
| Annotation Type | Description | 
|---|---|
| Binds | 
 Annotates abstract methods of a  
Module that delegate bindings. | 
| BindsInstance | 
 Marks a method on a component builder or a parameter on a
 component factory as binding an instance to some key within the
 component. 
 | 
| BindsOptionalOf | 
 Annotates methods that declare bindings for  
Optional containers of values from bindings
 that may or may not be present in the component. | 
| Component | 
 Annotates an interface or abstract class for which a fully-formed, dependency-injected
 implementation is to be generated from a set of Component.modules(). 
 | 
| Component.Builder | 
 A builder for a component. 
 | 
| Component.Factory | 
 A factory for a component. 
 | 
| MapKey | 
 Identifies annotation types that are used to associate keys with values returned by provider methods in order to compose a map. 
 | 
| Module | 
 Annotates a class that contributes to the object graph. 
 | 
| Provides | 
 Annotates methods of a module to create a provider method binding. 
 | 
| Reusable | 
 A scope that indicates that the object returned by a binding may be (but might not be) reused. 
 | 
| Subcomponent | 
 A subcomponent that inherits the bindings from a parent  
Component or
 Subcomponent. | 
| Subcomponent.Builder | 
 A builder for a subcomponent. 
 | 
| Subcomponent.Factory | 
 A factory for a subcomponent. 
 | 
The entry point into the API is the Component, which annotates abstract types for
 Dagger 2 to implement. The dependency graph is configured using annotations such as Module, Provides and Inject.
 
dagger.internal.codegen.ComponentProcessor is the processor responsible for generating
 the implementation. Dagger uses the annotation procesor service loader to automatically configure the processor, so explict build configuration
 shouldn't be necessary.