了解dagger2的用法

时间:2015-05-20 20:57:47

标签: java dependency-injection dagger-2

我下载了Coffee sample application并将其带入了我的IDE。运行mvn clean后,我的IDE报告编译错误为:

enter image description here

在我运行mvn compile之前,它不会得到修复。显然,示例代码引用了该工具生成的某个类。

我对这个设计感到非常惊讶,因为在你编译项目之前,你不会有一个可以编译的项目(看起来像),有点像你必须吃自己的蛋才能诞生。

问题:这是dagger2的正常使用场景吗?或者我错过了什么?

1 个答案:

答案 0 :(得分:1)

是。 Dagger使用Java Annotation Processing Tool,它挂钩到编译过程中。在注释处理期间,生成DaggerCoffeeApp_Coffee类,之后,原始和生成的源代码作为一个整体进行编译。

毋庸置疑,在编译之前这个类还不存在。这就是您的IDE无法找到它并将其标记为错误的原因。运行mvn compile后,它可以找到该类。