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

use*_*162 3 java guice guice-3

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

即(显然不起作用,但告诉我我追求的是什么):

bind(MyInterface.class).to(Class<MyImplementation>)
Run Code Online (Sandbox Code Playgroud)

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

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

use*_*162 6

我在RTFM之后想出来了.我只是错过了"toInstance"方法的存在:

bind(new TypeLiteral(Class<? extends MyInterface>)(){}).toInstance(MyImplementation.class)
Run Code Online (Sandbox Code Playgroud)

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