【发布时间】:2020-02-26 04:48:02
【问题描述】:
假设我们有由 AImpl.java 实现的 A.java 接口和由 Bimpl.javaB.java 接口/strong>
上面的类被绑定在如下两个模块中
Module1 {
bind(A.class).to(AImpl.class);
bind(B.class).to(BImpl.class);
}
Module2 {
Key<A> aKey = Key.get(A.class, AnAnnot.class);
bind(aKey).to(AImpl.class);
Key<B> bKey = Key.get(B.class, AnAnnot.class);
bind(bKey).to(BImpl.class);
}
Class AImpl implements A {
}
Class BImpl implements B {
@Inject
BImpl(A aImpl) {
//??
}
}
BImpl 指的是 A
对于使用 Annotation 绑定的 BImpl,我想要相应的 aImpl,使用 Annotation 绑定,但这里我得到的是未使用 Annotation 绑定的 aImpl
请推荐
【问题讨论】:
-
顺便问一下,你是不是对带注释和不带注释都使用相同的实现?
-
没错。我正在尝试找到一种对齐接线的方法;类绑定了注解和没有注解。
-
那么问题出在哪里,两种情况下你得到的是同一个实例吗?我有点失落:/
-
@Olivier - 感谢您提供帮助,但这并不是我想要的。可能是我没有很好地表达我的问题。请参阅我使用的以下解决方案,可能不是最好的,但效果很好
标签: binding annotations guice