3

Guice 是否有任何巧妙的方法(如果有的话)以某种方式将类类型绑定到接口?我不是指类的实例,而是实际的 java.lang.class 类型本身。

即(显然不起作用,但告诉我要做什么):

bind(MyInterface.class).to(Class<MyImplementation>)

我知道一开始这似乎不可能,但我不知道是否有任何技巧可以做到这一点。想到的一个是将类类型包装在一个实际的实例化对象或其他东西中,但这似乎是最后的手段。

任何想法将不胜感激。谢谢!

4

2 回答 2

6

我在 RTFM 之后想通了。我只是错过了“toInstance”方法的存在:

bind(new TypeLiteral(Class<? extends MyInterface>)(){}).toInstance(MyImplementation.class)

希望这可以帮助遇到类似问题的其他人!

于 2014-07-11T19:36:39.843 回答
2

听起来你只想做一个普通的绑定

bind(MyInterface.class).to(MyImplementation.class)
于 2014-07-11T15:56:02.393 回答