Guice中的无题绑定

Sne*_*kse 4 java annotations dependency-injection guice

在Guice文档中,有一个Untargetted Binding示例:

bind(MyConcreteClass.class)
   .annotatedWith(Names.named("foo"))
   .to(MyConcreteClass.class);
Run Code Online (Sandbox Code Playgroud)

有人可以用简单的英语解释这究竟是做什么以及为什么要这样做?

Col*_*inD 5

它正在创建一个使用实现类MyConcreteClass注释的类型绑定.如果要注入该类型,则可以执行此操作:@Named("foo")MyConcreteClass

@Inject public Bar(@Named("foo") MyConcreteClass object) { ... }
Run Code Online (Sandbox Code Playgroud)