0

有什么方法可以确定哪些类型与实现Module接口或扩展类的类中的绑定器绑定AbstractModule。我需要实现一个辅助方法,它将某些类型与活页夹绑定,但该方法必须绑定的某些类型可能已经与活页夹绑定。有谁知道当同一类型与活页夹多次绑定时会发生什么?

当类型绑定为单例时呢?

4

1 回答 1

1

更喜欢使用帮助器来构建模块列表,而不是使用帮助器来绑定自身。

之后,您可以使用“Modules.combine(listOfModules)”函数删除重复的模块定义:

Guice.createInjector(Modules.combine(listOfModules));

或者,当您构建“listOfModules”时,您可以在将模块添加到列表之前测试它是否存在:

for (AbstractModule item : listOfModules) {
    if (moduleToAdd.getClass().isAssignableFrom(item.getClass())) {
        return listOfModules;
    }
}
modules.add(moduleToAdd);
return listOfModules;

问候!

于 2013-09-09T06:50:57.133 回答