在Java中无需Guice即可实现依赖项注入

时间:2019-11-27 16:49:30

标签: java dependency-injection dependencies constructor-injection

@RequiredConstructor
@Getter
public class Customer {
  private final boolean isAlive;
}

public class RequestUtils {
  public boolean isParent(Customer request) {}
  public Account getAccount(boolean accounttype) {
    Account type = accounttype ? dog : cat  
  }
  public List<...> getdataTypes(boolean isParent){}
}

public class impl {
  private RequestUtils requestutils
  public impl (bunch of other class initializations for constructor, RequestUtils requestutils) {
        this.requestutils = requestutils}

  public metadata fetchdata(Customer customerReq) {
    accounttype = requestutils.getAccount(customerReq.isAlive()) ? something : somethingelse
  }
}

为了提高行accounttype = requestutils.getAccount(customerReq.isAlive()) ? something : somethingelse的可读性,我想删除调用中的参数并使请求看起来更像                    accounttype = requestutils.getAccount() ? something : somethingelse

由于我不太了解Guice的依赖注入方面,因此我想了解一下如何在不引入Guice或不使用spring自动装配概念的情况下实现它。 首先想到的是创建另一个帮助器类X,并使用“ RequestUtils”初始化其构造函数。但是我不确定是否可以摆脱对getaccount()方法输入的需求。 在Java中是否有一种方法可以让我摆脱类RequestUtils中所有“ get ...()”方法中对参数的需求?

任何建议都值得赞赏。

0 个答案:

没有答案