0
如果我声明了一个方法:吉斯:注塑和编译器
公共停车场makeCar(@Named( “carClassName”)字符串carClassName){// ... }
看来,编译器(eclipse)不高兴(即它不会让我调用没有参数的类)。
当我动态调用此方法时,如何注入这些参数?有没有办法给方法注入呼叫?
如果我声明了一个方法:吉斯:注塑和编译器
公共停车场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不会影响编译时语法规则 - 相反,它会在运行时更改项目的值.....有趣的是,有时我会忘记这一点。感谢您的提醒 – jayunit100 2012-02-19 02:08:13