使用autoBindInjectable对标记的绑定与命名的绑定进行逆向处理

问题描述

我一直试图理解Inverseify @tagged@named绑定之间的区别。我似乎找不到任何定义两者之间差异的文档。它们似乎是同义词。

此外,在使用容器的autoBindInjectable设置时,我更加困惑如何/在何处定义对象的标记名称。似乎没有办法使用B注释。使用标识符将对象绑定什么?它使用Class作为标识符吗?

我确实看到inversify-binding-decorators添加@injectable()@provide()装饰器,但是这是否完全消除了对@fluentProvide().whenTargetTagged()装饰器的需要?

文档表明:

@injectable()

但是,除了通用文档之外,它没有显示/指示如何使用let container = new Container({ autoBindInjectable: true }); container.isBound(Ninja); // returns false container.get(Ninja); // returns a Ninja container.isBound(Ninja); // returns true 批注来进行自动绑定:

@injectable()

但是您如何定义@injectable() class Ninja implements Warrior {} @tagged绑定?并且有理由选择@named而不是@tagged吗?还是使用@named库的唯一方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...