У меня есть модуль, для которого требуется Depedency
. Есть ли способ, которым сами модули могут быть введены? Я понимаю, что это немного ситуация с курицей и яйцом...
Пример:
public class MyModule implements Module {
private final Dependency d_;
@Inject public MyModule(Dependency d) {
d_ = d;
}
public void configure(Binder b) { }
@Provides Something provideSomething() {
// this requires d_
}
}
Я полагаю, что в этом случае решение было бы превратить метод @Provides
в полноценный класс Provider<Something>
. Это, очевидно, упрощенный пример; код, с которым я имею дело, имеет много таких методов @Provides
, поэтому каждый из них разбивается на отдельные классы Provider<...>
, а введение модуля для их настройки добавляет достаточное количество помех - и я думал, что Гис был связан с уменьшением беспорядочного кластера?
Возможно, это отражение моей относительной нуобильности для Guice, но я столкнулся с несколькими случаями, когда у меня возникло соблазн сделать это. Мне что-то не хватает...