public interface Injector
Contains several default bindings:
Injector
instance itself
Provider<T>
for each binding of type T
Logger
for the class being injected
Stage
in which the Injector was created
Injectors are created using the facade class Guice
.
An injector can also inject the dependencies
of
already-constructed instances. This can be used to interoperate with objects created by other
frameworks or services.
Modifier and Type | Method and Description |
---|---|
<T> java.util.List<Binding<T>> |
findBindingsByType(TypeLiteral<T> type)
Returns all explicit bindings for
type . |
<T> T |
getInstance(java.lang.Class<T> type)
Returns the appropriate instance for the given injection type; equivalent to
getProvider(type).get() . |
<T> T |
getInstance(Key<T> key)
Returns the appropriate instance for the given injection key; equivalent to
getProvider(key).get() . |
<T> MembersInjector<T> |
getMembersInjector(java.lang.Class<T> type)
Returns the members injector used to inject dependencies into methods and fields on instances
of the given type
T . |
<T> MembersInjector<T> |
getMembersInjector(TypeLiteral<T> typeLiteral)
Returns the members injector used to inject dependencies into methods and fields on instances
of the given type
T . |
<T> Provider<T> |
getProvider(java.lang.Class<T> type)
Returns the provider used to obtain instances for the given type.
|
<T> Provider<T> |
getProvider(Key<T> key)
Returns the provider used to obtain instances for the given injection key.
|
void |
injectMembers(java.lang.Object instance)
Injects dependencies into the fields and methods of
instance . |
void injectMembers(java.lang.Object instance)
instance
. Ignores the presence or
absence of an injectable constructor.
Whenever Guice creates an instance, it performs this injection automatically (after first performing constructor injection), so if you're able to let Guice create all your objects for you, you'll never need to use this method.
instance
- to inject members onfor a preferred alternative that supports checks before
run time
<T> MembersInjector<T> getMembersInjector(TypeLiteral<T> typeLiteral)
T
.typeLiteral
- type to get members injector forfor an alternative that offers up front error
detection
<T> MembersInjector<T> getMembersInjector(java.lang.Class<T> type)
T
. When feasible, use Binder.getMembersInjector(TypeLiteral)
instead to get increased up front error detection.type
- type to get members injector forfor an alternative that offers up front error
detection
<T> java.util.List<Binding<T>> findBindingsByType(TypeLiteral<T> type)
type
.
This method is part of the Guice SPI and is intended for use by tools and extensions.
<T> Provider<T> getProvider(Key<T> key)
ConfigurationException
- if this injector cannot find or create the provider.for an alternative that offers up front error detection
<T> Provider<T> getProvider(java.lang.Class<T> type)
ConfigurationException
- if this injector cannot find or create the provider.for an alternative that offers up front error detection
<T> T getInstance(Key<T> key)
getProvider(key).get()
. When feasible, avoid using this method, in favor of having Guice
inject your dependencies ahead of time.ConfigurationException
- if this injector cannot find or create the provider.ProvisionException
- if there was a runtime failure while providing an instance.<T> T getInstance(java.lang.Class<T> type)
getProvider(type).get()
. When feasible, avoid using this method, in favor of having Guice
inject your dependencies ahead of time.ConfigurationException
- if this injector cannot find or create the provider.ProvisionException
- if there was a runtime failure while providing an instance.