我遇到了 Square 的 dagger 库,目前正在做一些测试。我是 DI 原则的新手,所以请善待 :)
所以,我知道 Dagger 可以注入字段和构造函数。我也知道,在我的活动中,我必须.inject(this);
这样才能在运行时完成注入。但是在活动初始化之后需要创建的对象 O 呢?
如果 O 具有可注入字段,我必须.inject(O);
在使用它之前使用它,否则NullPointerException
在访问其注入变量时我会得到一个。但是如果我写一个可注入的构造函数,没问题,没有运行时异常。当然,我根据文档编写了我的@Module。
Dagger 的目的不是注入没有其他代码可写的字段吗?我是否必须手动操作.inject();
所有对象?肯定有我想念的东西。
提前致谢。