我正在使用启用 Guice 的框架。
当使用由框架创建的类(或覆盖现有绑定的子类)时,我可以很容易地实例化框架提供的变量。无论我需要什么,这只是一个问题
@Inject
FrameworkProvidedType variable;
但是,在我自定义创建的类中,这不起作用。所有注入的变量都是空的。
我的理解是,为了使用注入,我的类必须有一个绑定。
如果我对现有框架类进行子类化,我可以覆盖我的模块类中的绑定。这很简单。
但是我有一个新类,我不知道如何将它绑定到底层框架。
public Class myCustomClass {
private String iNeedthis;
private Context thisToo;
@Inject
FrameWorkThing magic;
public myCustomClass(String iNeedThis, Context thisToo){
this.iNeedThis = iNeedThis;
this.thisToo = thisToo;
}
public void DoMagic(){
//null pointer error because magic was not injected
magic.doMagic(this.iNeedthis);
}
}
我如何 Guice 启用这个新类?
我在我的运行时模块中试过这个
public Class<myCustomClass> bindMyCustomClass(){
return MyCustomClass.class;
}
并惨遭失败。