由于绑定是在绑定模块中定义的,因此只要需要注入依赖关系,Guice就会使用它们.如果不存在绑定,它可以尝试创建即时绑定.绑定模块中存在的绑定称为显式绑定,具有更高的优先级,而即时绑定称为隐式绑定.如果存在两种类型的绑定,则考虑使用显式绑定进行映射.
以下是三种即时绑定的示例.
Sr.No. | 绑定类型&描述 |
---|---|
1 | Injectable Constructors 非私有,无参数构造函数符合即时绑定的条件.另一种方法是使用@Inject注释来注释构造函数. |
2 | @ImplementatedBy annotation @ImplementatedBy annotation告诉关于实现类的问题.在这种情况下,绑定模块不需要绑定. |
3 | @ProvidedBy annotation @ProvidedBy注释告诉关于实现类提供者的问题.在这种情况下,绑定模块不需要绑定. |