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