Java inject方法是保留名称吗?Dagger-2如何使用它的身体?

Java inject方法是保留名称吗?Dagger-2如何使用它的身体?,java,dagger-2,Java,Dagger 2,我看到了这个片段: @Component(modules = {TestActivityModule.class}) public interface TestActivityComponent { void inject(TestActivity activity); } 但是inject方法没有在用户代码中实现(而是在Dagger-2代码中自动生成) 因此,inject是保留名称吗?Dagger-2如何实现此方法?好的,我知道了:名称不重要,它可以是例如squere,只要提供的类型

我看到了这个片段:

@Component(modules = {TestActivityModule.class})
public interface TestActivityComponent {
    void inject(TestActivity activity);
}
但是
inject
方法没有在用户代码中实现(而是在
Dagger-2
代码中自动生成)


因此,
inject
是保留名称吗?
Dagger-2
如何实现此方法?

好的,我知道了:名称不重要,它可以是例如
squere
,只要提供的类型包含
@Inject
字段/方法/构造函数,
Dagger-2
将生成方法的主体:

@Component(modules = {TypoModule.class})
public interface TypoComponent {
    void squeeze(Thingie t);
}
…只要有一个
@提供的
返回
@Inject
ed类型:

@Module class TypoModule {
    @Provides InjectedType whateverNameYouDecide() {
        return new InjectedSubType();
        // InjectedSubType extends InjectedType, obviously...
    }
}
当然,
Thingie
应该有
@Inject
ed成员,否则什么也不会发生:

class Thingie {
    @Inject InjectedType thingieID;
}

事情就是这样…

看:@AhmadAlsanie,我看到了,它没有准确回答问题。命名只是惯例和可读性。您不必将其称为组件或模块,
inject
(或
squeak
或其他任何东西)是一种“成员注入方法”。合同记录在合同中。