Methods Guice:注入和编译器

Methods Guice:注入和编译器,methods,compilation,arguments,guice,Methods,Compilation,Arguments,Guice,如果我声明了一个方法: 公共汽车makeCar(@Named(“carClassName”)字符串carClassName){ //... } 编译器(eclipse)似乎不高兴(即,它不允许我调用没有参数的类) 在动态调用此方法时,如何注入这些参数?有没有办法向方法注入调用 解决方案1:在调用者中插入carClassName class Whatever { private @Named("carClassName") String carClassName); public vo

如果我声明了一个方法:

公共汽车makeCar(@Named(“carClassName”)字符串carClassName){ //... }

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


在动态调用此方法时,如何注入这些参数?有没有办法向方法注入调用

解决方案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);
  }
}

也就是说,Guice不会影响编译时语法规则——相反,它会在运行时更改项的值。。。。。有趣的是,有时我会忘记这一点。谢谢你的提醒