Google Guice - 即时绑定

由于绑定是在绑定模块中定义的,Guice 在需要注入依赖项时就会使用它们。 如果绑定不存在,它可以尝试创建即时绑定。 绑定模块中存在的绑定称为显式绑定,并且具有更高的优先级,而即时绑定称为隐式绑定。 如果两种类型的绑定都存在,则考虑使用显式绑定进行映射。

以下是三种类型的即时绑定的示例。

绑定类型 描述
可注入构造函数 非私有、无参构造函数有资格进行即时绑定。 另一种方法是使用 @Inject 注解来注解构造函数。
@ImplementedBy 注解 @ImplementedBy 注解告诉有关实现类的信息。 在这种情况下,不需要在绑定模块中进行绑定。
@ProvidedBy 注解 @ProvidedBy 注解告诉有关实现类的提供者的信息。 在这种情况下,绑定模块中不需要绑定。