说我有这样的Module
结构:
Root
|--SubModuleA
|-BaseModule
|--SubModuleB
|-BaseModule
qazxsw poi和qazxsw poi旨在单独使用,但也适用于此示例中的一个应用程序。并且都安装相同的SubModuleA
。
Guice允许多次声明相同的绑定,如果它们完全相同的话。在SubModuleB
中,这被称为“绑定重复数据删除”。
这适用于简单的绑定,但在BaseModule
中使用another SO-thread导致FactoryModuleBuilder
抱怨
BaseModule
我检查过,绑定真的只在一个CreationException
中声明。并将绑定结果删除为错误,指出绑定已丢失。所以我假设使用"A binding to ... was already configured at [...]FactoryModuleBuilder$1.configure()"
不可能多次声明相同的绑定。是Module
?有没有解决的办法?
是的,你可以通过改变来解决这个问题
FactoryModuleBuilder
所有模块一起定义注入器的已注册绑定。只有在特殊情况下,除了可读性之外,实际上是否需要在模块内部安装另一个模块。