java - Guice 中的非目标绑定(bind)

标签 java dependency-injection annotations guice

在 Guice 文档中,有一个 Untargetted Binding example作为:

bind(MyConcreteClass.class)
   .annotatedWith(Names.named("foo"))
   .to(MyConcreteClass.class);

谁能用通俗易懂的语言解释一下这到底是做什么的以及为什么要这样做?

最佳答案

它正在使用实现类 MyConcreteClass 创建类型为 MyConcreteClass 的绑定(bind),并用 @Named("foo") 注释。如果你想注入(inject)那种类型,你会这样做:

@Inject public Bar(@Named("foo") MyConcreteClass object) { ... }

关于java - Guice 中的非目标绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5344612/

相关文章:

java.io.FileNotFoundException : class path resource [WEB-INF/classes/library. 属性]无法打开,因为它不存在

c++ - 模块化:是否使用接口(interface)?

swift - 通过初始化器注入(inject)依赖项(使用 Storyboard)? [ swift ]

annotations - 我可以 "fix"错误的 Resharper 注释吗?

java - 如何在 Spring 中重新启动死锁/锁定超时事务?

java - 是否可以避免在 For 循环中创建 java.sql.Date 对象

java - 使用java创建按需缩略图的成功案例

java - 我将如何使用原始数组整数创建一个类?

java - IntelliJ IDEA 如何删除感叹号后的空格

java - 当我试图知道我的方法中是否有注释时,它返回 null(即使有)