【发布时间】:2015-05-10 16:27:19
【问题描述】:
试图理解使用 Guice 的依赖注入。哪些情况下我们使用@Provides,哪些情况下我们在模块中使用toProvider绑定?
【问题讨论】:
-
使用任何让你的代码更漂亮的东西。也是
@Provides不是@Provider。
标签: java dependency-injection guice
试图理解使用 Guice 的依赖注入。哪些情况下我们使用@Provides,哪些情况下我们在模块中使用toProvider绑定?
【问题讨论】:
@Provides 不是@Provider。
标签: java dependency-injection guice
当您使用@Provides 时,您在模块中编写了一个方法。当您使用toProvider 时,实际上是创建了一个完整的类,它具有创建类的所有复杂性,而不是单个方法。
最终,两者都可以工作,并且都允许您传入注入的依赖项。只需选择最适合您在特定用例中所需复杂性的一种即可。
记住@Provides 方法不能抛出异常;因此异常处理可能是将复杂性转移到完整类的原因之一。
【讨论】: