Google Guice - 即时绑定

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

以下是三种即时绑定的示例.

Sr.No.绑定类型&描述
1Injectable Constructors

非私有,无参数构造函数符合即时绑定的条件.另一种方法是使用@Inject注释来注释构造函数.

2@ImplementatedBy annotation

@ImplementatedBy annotation告诉关于实现类的问题.在这种情况下,绑定模块不需要绑定.

3@ProvidedBy annotation

@ProvidedBy注释告诉关于实现类提供者的问题.在这种情况下,绑定模块不需要绑定.