Guice:@Provider 与 toProvider 绑定
Guice: @Provider vs toProvider binding
尝试使用 Guice 了解依赖注入。在哪些情况下我们使用 @Provides
以及在哪些情况下我们使用模块中的 toProvider
绑定?
当你使用@Provides
时,你在你的模块中写了一个方法。当您使用 toProvider
时,您实际上创建了一个完整的 class,它具有制作 class 的所有复杂性,而不是单个方法。
最终,两者都可以工作,并且都允许您传入注入的依赖项。只需选择最适合您在特定用例中所需的复杂程度的一种。
记住 @Provides
方法不能抛出异常;因此异常处理可能是将复杂性卸载到完整 class.
的原因之一
尝试使用 Guice 了解依赖注入。在哪些情况下我们使用 @Provides
以及在哪些情况下我们使用模块中的 toProvider
绑定?
当你使用@Provides
时,你在你的模块中写了一个方法。当您使用 toProvider
时,您实际上创建了一个完整的 class,它具有制作 class 的所有复杂性,而不是单个方法。
最终,两者都可以工作,并且都允许您传入注入的依赖项。只需选择最适合您在特定用例中所需的复杂程度的一种。
记住 @Provides
方法不能抛出异常;因此异常处理可能是将复杂性卸载到完整 class.