在Guice文档中,有一个Untargetted Binding example:
bind(MyConcreteClass.class)
.annotatedWith(Names.named("foo"))
.to(MyConcreteClass.class);
有人可以用简单的英语解释这到底在做什么以及为什么要这么做吗?
最佳答案
它使用实现类MyConcreteClass
创建一个以@Named("foo")
注释的MyConcreteClass
类型的绑定。如果要注入该类型,可以这样做:
@Inject public Bar(@Named("foo") MyConcreteClass object) { ... }