Google Guice - Своевременные привязки
Поскольку привязки определены в модуле привязки, Guice использует их всякий раз, когда нужно внедрить зависимости. Если привязки отсутствуют, он может попытаться создать привязки точно в срок. Привязки, присутствующие в модуле привязки, называютсяExplicit bindings и имеют более высокий приоритет, тогда как привязки точно в срок называются Implicit bindings. Обратите внимание, что если присутствуют оба типа привязок, явные привязки рассматриваются для сопоставления.
Примеры для трех типов привязок точно в срок приведены ниже:
Sr. No. | Тип переплета и описание |
---|---|
1 | Инъекционные конструкторы
Неприватные конструкторы без аргументов имеют право на своевременные привязки. Другой способ - аннотировать конструктор аннотацией @Inject. |
2 | @ImplementatedBy аннотацией
Аннотация @ImplementatedBy сообщает руководству о классе реализации. В этом случае привязка в модуле привязки не требуется. |
3 | @ProvidedBy аннотацией
Аннотация @ProvidedBy сообщает руководству о провайдере класса реализации. В этом случае привязка в модуле привязки не требуется. |