您可以使用专用模块来实现此目的,该模块允许您安装(相互不可访问)冲突的绑定,以用于构造有限的一组非冲突的
公开
绑定。这通常被视为一个解决机器人的腿的问题,在其中您会希望(例如)揭露
@Left Leg和
@RightLeg其中
Leg的对象是完全一样的,但是你已经绑定不同的
Foot实现(
LeftFoot和
RightFoot)在层次结构进一步下跌。
在这一点上,您没有指定“谁在得到它”,但是您要为一个消费者和另一个消费者公开一个稍微不同的Injector图。
install(new PrivateModule() { bind(Authorizer.class).to(ImplA.class); expose(SomeClass.class);});install(new PrivateModule() { bind(Authorizer.class).to(ImplB.class); expose(SomeOtherClass.class);});


