Google Guice中的绑定(A.class)



我是这个Google Guice DI的新手。我正在阅读一些关于依赖注入的在线文章,在Google Guice中,我们通常在模块类中指定绑定,如下所示:

bind(A.class).toInstance(B.class); 

这意味着,如果我们试图实例化A的对象,它应该使用B的类来实例化它

但有时,我们做

bind(A.class);

这个简单的A.class绑定意味着什么,我们将它与自身绑定。这种装订可能有什么用途。

请参阅此处:

您可以在不指定目标的情况下创建绑定。这是最适用于由@ImplementedBy或@ProvidedBy。非目标绑定通知注入器关于一个类型,因此它可能会急切地准备依赖项。非目标绑定没有to子句,如下所示:

bind(MyConcreteClass.class);
bind(AnotherConcreteClass.class).in(Singleton.class);

最新更新