吉斯:根据谁来注入不同的实现?

吉斯:根据谁来注入不同的实现?,第1张

吉斯:根据谁来注入不同的实现?

您可以使用专用模块来实现此目的,该模块允许您安装(相互不可访问)冲突绑定,以用于构造有限的一组非冲突的
公开
绑定。这通常被视为一个解决机器人的腿的问题,在其中您会希望(例如)揭露

@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);});


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5507101.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存