我有一个实用的方法: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,我很害怕必须从方法中移动这个参数,通过方法尝试创建一个更复杂的工具。 –