Guice是否有任何方式(如果有的话)以某种方式将类类型绑定到接口?我不是指类的实例,而是实际的java.lang.class类型本身。
即。 (显然不起作用,但告诉我之后的事情):
bind(MyInterface.class).to(Class<MyImplementation>)
我知道一开始看起来并不可行,但我不知道我是否有任何技巧可以做到这一点。想到的是将类类型包装在实际的实例化对象或其他东西中,但这似乎是最后的手段。
任何想法都将不胜感激。谢谢!
答案 0 :(得分:6)
我在RTFM之后想出来了。我只是错过了“toInstance”方法的存在:
bind(new TypeLiteral(Class<? extends MyInterface>)(){}).toInstance(MyImplementation.class)
希望这可以帮助遇到类似问题的其他人!
答案 1 :(得分:2)
听起来你只想做一个正常的绑定
bind(MyInterface.class).to(MyImplementation.class)