Guice - 创建与java.lang.class的绑定

时间:2014-07-11 06:20:12

标签: java guice guice-3

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

即。 (显然不起作用,但告诉我之后的事情):

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

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

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

2 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:2)

听起来你只想做一个正常的绑定

bind(MyInterface.class).to(MyImplementation.class)