我正在使用一个内部有类
的库@ImplementedBy(MyClassImpl.class)
public interface MyClassInterface {
....
}
当Guice,如何获取MyClassImpl的实例?
我是否必须创建绑定:
bind(MyClassInterface.class).to(MyClassImpl.class);
为了使用它?
非常感谢
答案 0 :(得分:2)
不,你不必创建绑定,尽管你可以。如果这样做,将覆盖@ImplementedBy
注释。
您可以通过普通注射获得它的实例,例如
@Inject
public Client(MyClassInterface foo) {
...
}
或(如果是顶级课程):
injector.getInstance(MyClassInterface.class);
答案 1 :(得分:0)
您要么注入界面:
@Inject
MyClassInterface myClass;
或者您可以使用注射器来获取实例:
MyClassInterface myClass = injector.getInstance(MyClassInterface.class);
两者都将注入MyClassImpl类型。