Guice:注入和编译器

发布于 2025-01-06 21:52:36 字数 194 浏览 2 评论 0原文

如果我声明一个方法:

public Car makeCar(@Named("carClassName") String carClassName){ //... 。

编译器(eclipse)似乎不高兴(即它不允许我在没有参数的情况下调用该类)

当我动态调用此方法时,如何注入这些参数?有没有办法注入对方法的调用?

If I declare a method :

public Car makeCar(@Named("carClassName") String carClassName){
//...
}

It seems that the compiler (eclipse) is unhappy (i.e. it won't let me call the class with no arguments).

How can I inject these parameters when I call this method , dynamically ? Is there a way to inject a call to a method ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰雪之触 2025-01-13 21:52:36

解决方案1:在调用者中插入carClassName,

class Whatever {
   private @Named("carClassName") String carClassName);
   public void dosomething() {
      ...
      Cat cat = makeCar(carclassName);
      ...
   }
}

解决方案2:使用工厂,

class CarFactory {      
  private @Named("carClassName") String carClassName);
  public Car create() {
     return makeCar(carClassName);
  }
}

并在需要的地方注入它。

Solution 1: insert carClassName in the caller,

class Whatever {
   private @Named("carClassName") String carClassName);
   public void dosomething() {
      ...
      Cat cat = makeCar(carclassName);
      ...
   }
}

Solution 2: use a factory,

class CarFactory {      
  private @Named("carClassName") String carClassName);
  public Car create() {
     return makeCar(carClassName);
  }
}

and inject it where needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文