public interface Injector
Builds the graphs of objects that make up your application. The injector tracks the dependencies
for each type and uses bindings to inject them. This is the core of Guice, although you rarely
interact with it directly. This "behind-the-scenes" operation is what distinguishes dependency
injection from its cousin, the service locator pattern.
Contains several default bindings:
- This
Injector
instance itself - A
Provider<T>
for each binding of typeT
- The
Logger
for the class being injected
Injectors are created using the facade class Guice
.
-
Method Summary
Modifier and TypeMethodDescriptionfindBindingsByType
(TypeLiteral<T> type) Returns all explicit bindings fortype
.<T> T
getInstance
(Class<T> type) Returns the appropriate instance for the given injection type; equivalent togetProvider(type).get()
.<T> T
getInstance
(Key<T> key) Returns the appropriate instance for the given injection key; equivalent togetProvider(key).get()
.<T> Provider<T>
getProvider
(Key<T> key) Returns the provider used to obtain instances for the given injection key.
-
Method Details
-
findBindingsByType
Returns all explicit bindings fortype
.This method is part of the Guice SPI and is intended for use by tools and extensions.
-
getProvider
Returns the provider used to obtain instances for the given injection key. When feasible, avoid using this method, in favor of having Guice inject your dependencies ahead of time.- Throws:
ConfigurationException
- if this injector cannot find or create the provider.- See Also:
-
getInstance
Returns the appropriate instance for the given injection key; equivalent togetProvider(key).get()
. When feasible, avoid using this method, in favor of having Guice inject your dependencies ahead of time.- Throws:
ConfigurationException
- if this injector cannot find or create the provider.ProvisionException
- if there was a runtime failure while providing an instance.
-
getInstance
Returns the appropriate instance for the given injection type; equivalent togetProvider(type).get()
. When feasible, avoid using this method, in favor of having Guice inject your dependencies ahead of time.- Throws:
ConfigurationException
- if this injector cannot find or create the provider.ProvisionException
- if there was a runtime failure while providing an instance.
-