Мое понимание Guice заключается в следующем:
-  Инъекция на уровне конструктора (
@Inject public class Widget(Dep one, Dep two)) подразумевает, что Guice всегда будет вводить этот конструктор каждый раз, когда он вызывается черезInjector; и -  Ввод уровня метода (
@Inject public void setDepOne(Dep one)) подразумевает, что Guice всегда будет вводить этот метод всякий раз, когда он вызывается, пока объектWidgetбыл создан с помощью GuiceInjector 
Правильны ли эти два предположения? Если нет, уточните!
Итак, что я повесил трубку: каковы последствия внедрения на уровне поля?
@Inject private Dep one;
Означает ли это, что Guice всегда будет вводить свойство, когда объект создается через инжектор Guice? В этом случае я предполагаю, что он конфликтует с инъекцией на уровне конструктора.
Например, вызывает ли конфликт/ошибку следующее:
public class Widget {
    @Inject private Dep one;
    private Dep two;
    // Dep one already injected as a field!
    @Inject public Widget(Dep one, Dep two) {
        // ...
    }
}
Спасибо заранее!