似乎缺少provides
的文档,所以我在问这个问题。
考虑此Guice模块
public class MyModule extends AbstractModule {
String TEMPLATE_PATH = '/path/to/templates';
@Provides
RateLimiter generateRateLimiter(UserPreferenceSelector prefSel) {
return new EmailTemplate(new FileLocator(TEMPLATE_PATH), prefSel);
}
/* ...configure... */
}
对于方法generateRateLimiter
,从何处获取UserPreferenceSelector prefSel
?我看不到任何地方提供它。如何创建它以及UserPreferenceSelector
的构造函数如何?
谢谢!
答案 0 :(得分:0)
签出the binding resolution docs。当Guice制作Provider
且Provider
的参数类型为A
时,Guice尝试查找Provider
或A
的绑定。在默认情况下,Guice寻找的东西(在最后中,即如果没有其他方法可以获取A
)。这可能是您的情况:UserPreferenceSelector
是否具有默认构造函数?