This topic is about Google Guice – Just-In-Time Bindings.
As bindings are defined in Binding Module, Guice uses them whenever it needs to inject dependencies. In case bindings are not present, it can attempt to create just-in-time bindings. Bindings present in binding module are called explicit bindings and are of higher precedence whereas just-in-time bindings are called implicit bindings. If both type of bindings are present, explicit bindings are considered for mapping.
Following are the examples of three types of Just-in-time bindings.
Binding Type | Description |
---|---|
Injectable Constructors | Non-private, No-argument constructors are eligible for just-in-time bindings. Another way is to annotate a constructor with @Inject annotation. |
@ImplementedBy annotation | @ImplementedBy annotation tells the guice about the implementation class. No binding is required in Binding Module in such a case. |
@ProvidedBy annotation | @ProvidedBy annotation tells the guice about the provider of implementation class. No binding is required in Binding Module in such a case. |
In this topic we learned about Google Guice – Just-In-Time Bindings. To know more, Click Here.