尝试使用Guice了解依赖注入。在哪些情况下我们使用@Provides
以及哪些情况下我们在模块中使用toProvider
绑定?
答案 0 :(得分:2)
使用@Provides
时,在模块中编写一个方法。当你使用toProvider
时,你实际上创建了一个完整的类,它具有创建类的所有复杂性,而不是单个方法。
最终,两者都有效,并且都允许您传入注入的依赖项。只需选择最适合您在特定用例中所需的复杂程度的那个。
请记住,@Provides
方法不能抛出异常;所以异常处理可能是将复杂性卸载到完整类的一个原因。