因为使用动态注入, 虽然写法简单了, 耦合也降低了,
但是带来了调试不方便, 反射性能差等一些缺点.
而Dagger跟Guice最大的差异在于, 他是编译期注入的, 而不是运行时....写法很简单, 跟Guice类似, 我们只需要在reportpage成员上加@Inject注解....{
3
4 void inject(PrintJob job);
5 }
添加完Component以及@Inject注解后我们需要编译代码或者rebuild工程, 让Dagger为我们生成工厂类...下面演示如何注入接口对象....此时我们就要跟Guice里一样, 使用@Named注解来标识了
1 @Named("new")
2 public ReportPageProvider reportPage;
调用的时候也很简单