我有一個實用的方法:Guice。注入到靜態方法
public static void MyUtility(ClassWhoDoesImportantThink instance,
Object params...){...}
通常我把這種方法方式:
public class UsualClass{
...
@Inject
ClassWhoDoesImportantThink importantInstance;
...
public aMethod(){
...
UtilityClass.myItility(importantInstance, arg1, arg2);
...
}
}
哪裏@Inject是吉斯功能。 但也許它存在一種方法直接注入一個「importantInstance」到我的靜態工具?不便,如:
public static void MyUtility(Object params...){
ClassWhoDoesImportantThink instance =
GuiceFeature.getObjectUsuallyInjected(ClassWhoDoesImportantThink.class);
... //Do job
}
不,你不能這樣做。或者至少我非常懷疑你可以這樣做,因爲如何讓guice注入器以不完全的方式進入MyUtility是不明顯的。 「常用」方式有什麼問題? –
@AndyTurner,我很害怕必須從方法中移動這個參數,通過方法嘗試創建一個更復雜的工具。 –