Google Guice - Just-in-Time-Bindungen
Da Bindungen im Bindungsmodul definiert sind, verwendet Guice sie immer dann, wenn Abhängigkeiten eingefügt werden müssen. Falls keine Bindungen vorhanden sind, kann versucht werden, Just-in-Time-Bindungen zu erstellen. Im Bindungsmodul vorhandene Bindungen werden aufgerufenExplicit bindings und haben eine höhere Priorität, während Just-in-Time-Bindungen aufgerufen werden Implicit bindings. Beachten Sie, dass explizite Bindungen für die Zuordnung berücksichtigt werden, wenn beide Arten von Bindungen vorhanden sind.
Die Beispiele für drei Arten von Just-in-Time-Bindungen sind nachstehend aufgeführt:
Sr.Nr. | Bindungsart & Beschreibung |
---|---|
1 | Injizierbare Konstruktoren
Nicht private Konstruktoren ohne Argumente sind für Just-in-Time-Bindungen berechtigt. Eine andere Möglichkeit besteht darin, einen Konstruktor mit der Annotation @Inject zu versehen. |
2 | @ImplementatedBy Annotation
Die Annotation @ImplementatedBy informiert die Guice über die Implementierungsklasse. In einem solchen Fall ist im Bindungsmodul keine Bindung erforderlich. |
3 | @ProvidedBy Annotation
Die @ ProvidedBy-Annotation informiert den Benutzer über den Anbieter der Implementierungsklasse. In einem solchen Fall ist im Bindungsmodul keine Bindung erforderlich. |