Dagger 2, como se explica en GitHub , es un enfoque de evolución en tiempo de compilación para la inyección de dependencia. Tomando el enfoque iniciado en Dagger 1.x hasta su conclusión final, Dagger 2.x elimina toda reflexión y mejora la claridad del código al eliminar el ObjectGraph
/ Injector
tradicional en favor de las interfaces @Component
especificadas @Component
usuario.
Daga 2 expone una serie de anotaciones especiales:
@Module para las clases cuyos métodos proporcionan dependencias
@Proporciona los métodos dentro de las clases de @Module
@Inyectar para solicitar una dependencia (un constructor, un campo o un método)
@Component es una interfaz puente entre módulos e inyección.
GitHub: https://github.com/google/dagger
UserGuide (Google): https://google.github.io/dagger/users-guide.html
Videos: https://google.github.io/dagger/resources.html
Tutorial de Vogella: http://www.vogella.com/tutorials/Dagger/article.html
Tutorial de Codepath: https://github.com/codepath/android_guides/wiki/Dependency-Injection-with-Dagger-2