private Service service;
@Inject
public ClassName(final Service service) {
this.service = service;
}
@Inject
private Service service;
有人能告诉我这两种注入(inject)方式的区别吗?
最佳答案
第一个说注入(inject)器将调用您的构造函数并提供适当的服务对象。您在构造函数中做什么由您决定。
第二个说它会适本地设置你的成员变量(意味着你可以有一个默认构造函数,它仍然会神奇地为你设置变量)。
一般来说,我更喜欢第一种,因为它使您的依赖关系明确,但我确信使用方法 2 有充分的理由。
我没有使用过 RoboGuice,但我认为它具有与常规 Guice 相同的一般原则 - 一些相关的 @Inject 文档在他们的 wiki 上:http://code.google.com/p/google-guice/wiki/Injections
关于android - Roboguice @Inject 服务困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6529192/