Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Guice 是否有任何巧妙的方法(如果有的话)以某种方式将类类型绑定到接口?我不是指类的实例,而是实际的 java.lang.class 类型本身。
即(显然不起作用,但告诉我要做什么):
bind(MyInterface.class).to(Class<MyImplementation>)
我知道一开始这似乎不可能,但我不知道是否有任何技巧可以做到这一点。想到的一个是将类类型包装在一个实际的实例化对象或其他东西中,但这似乎是最后的手段。
任何想法将不胜感激。谢谢!
我在 RTFM 之后想通了。我只是错过了“toInstance”方法的存在:
bind(new TypeLiteral(Class<? extends MyInterface>)(){}).toInstance(MyImplementation.class)
希望这可以帮助遇到类似问题的其他人!
听起来你只想做一个普通的绑定
bind(MyInterface.class).to(MyImplementation.class)