Guice:@Provider vs toProvider绑定

时间:2015-05-10 16:27:19

标签: java dependency-injection guice

尝试使用Guice了解依赖注入。在哪些情况下我们使用@Provides以及哪些情况下我们在模块中使用toProvider绑定?

1 个答案:

答案 0 :(得分:2)

使用@Provides时,在模块中编写一个方法。当你使用toProvider时,你实际上创建了一个完整的类,它具有创建类的所有复杂性,而不是单个方法。

最终,两者都有效,并且都允许您传入注入的依赖项。只需选择最适合您在特定用例中所需的复杂程度的那个。

请记住,@Provides方法不能抛出异常;所以异常处理可能是将复杂性卸载到完整类的一个原因。