java - 使用 Google Guice 与静态方法注入(inject) Util 类?

标签 java static dependency-injection guice

我想知道用 google guice 注入(inject)实用方法是否是一种好的风格。

假设我们有一个 Converter Utility 类:

public class UtilClass
{
  public static Result convert(Source src)
  {
    //Do conversion

    return result;
  }
}

我的想法是像这样使用 guice 将此实用程序作为单例注入(inject)

@Singleton
public class UtilClass
{
  public Result convert(Source src)
  {
    //Do conversion

    return result;
  }
}

对于使用 guice 构建的应用程序,推荐使用哪种方式?

最佳答案

这取决于您的 convert() 方法的性质。

如果有的话

  • 简单
  • 确定性的(即不依赖于其他参数)
  • 没有副作用
  • 不太可能改变
  • 等等

您可以将其保留为静态实用方法。

否则它是依赖注入(inject)的一个很好的候选者(你可以将它重命名为 ConversionService 以使其更清楚)。

关于java - 使用 Google Guice 与静态方法注入(inject) Util 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370683/

相关文章:

java - 在包中运行所有测试时出现 JUnit java.lang.OutOfMemoryError

javascript - 将 Backbone.js 用于静态内容、JavaScript 较多的网站?

c# - Unity【依赖】注入(inject)与继承

c# - 从 Log4net 迁移到 .net Core 日志记录

java - mongodb如何在JAVA中将_id转换为String

java - java中在静态 block 内和静态 block 外声明的静态变量之间的区别

ios - 无法访问 iOS 静态库中资源包文件中的 Storyboard

c# - 尝试应用良好的依赖注入(inject)实践时遇到的问题

java - 边框布局程序未按预期完成

inheritance - Typescript 不允许具有不同构造函数签名的类的 typeof 继承