Google Guice - Binding just-in-time

Poiché i collegamenti sono definiti nel modulo Binding, Guice li usa ogni volta che ha bisogno di iniettare dipendenze. Nel caso in cui non siano presenti binding, può tentare di creare binding just-in-time. Vengono chiamati i binding presenti nel modulo bindingExplicit bindings e hanno una precedenza maggiore mentre vengono chiamati i binding just-in-time Implicit bindings. Si noti che se sono presenti entrambi i tipi di associazioni, per la mappatura vengono prese in considerazione le associazioni esplicite.

Di seguito sono riportati gli esempi per tre tipi di binding just-in-time:

Sr.No. Tipo di rilegatura e descrizione
1 Costruttori iniettabili

I costruttori non privati ​​e senza argomenti sono idonei per i collegamenti just-in-time. Un altro modo è annotare un costruttore con l'annotazione @Inject.

2 @ImplementatedBy annotazione

L'annotazione @ImplementatedBy indica al guice la classe di implementazione. In questo caso non è richiesta alcuna associazione nel modulo di rilegatura.

3 @ProvidedBy annotazione

L'annotazione @ProvidedBy indica al guice il provider della classe di implementazione. In questo caso non è richiesta alcuna associazione nel modulo di rilegatura.