【问题标题】:Guice: @Provider vs toProvider binding [duplicate]Guice:@Provider 与 toProvider 绑定 [重复]
【发布时间】:2015-05-10 16:27:19
【问题描述】:

试图理解使用 Guice 的依赖注入。哪些情况下我们使用@Provides,哪些情况下我们在模块中使用toProvider绑定?

【问题讨论】:

  • 使用任何让你的代码更漂亮的东西。也是@Provides 不是@Provider

标签: java dependency-injection guice


【解决方案1】:

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

最终,两者都可以工作,并且都允许您传入注入的依赖项。只需选择最适合您在特定用例中所需复杂性的一种即可。

记住@Provides 方法不能抛出异常;因此异常处理可能是将复杂性转移到完整类的原因之一。

【讨论】:

    猜你喜欢
    • 2015-05-01
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多