Package com.google.inject
Google Guice (pronounced "juice") is an ultra-lightweight dependency injection framework.
Please refer to the Guice User's
Guide for a gentle introduction.
The principal public APIs in this package are:
Inject- The annotation you will use in your implementation classes to tell Guice where and how it should send in ("inject") the objects you depend on (your "dependencies").
Module- The interface you will implement in order to specify "bindings" -- instructions for how Guice should handle injection -- for a particular set of interfaces.
Binder- The object that Guice passes into your
Moduleto collect these bindings. Provider- The interface you will implement when you need to customize exactly how Guice creates instances for a particular binding.
-
Interface Summary Interface Description Binder Collects configuration information (primarily bindings) which will be used to create anInjector.Binding<T> A mapping from aKeyto the strategy for getting instances of the type.Injector Builds the graphs of objects that make up your application.MembersInjector<T> Injects dependencies into the fields and methods on instances of typeT.Module A module contributes configuration information, typically interface bindings, which will be used to create anInjector.PrivateBinder Returns a binder whose configuration information is hidden from its environment by default.Provider<T> An object capable of providing instances of typeT.Scope A scope is a level of visibility that instances provided by Guice may have. -
Class Summary Class Description AbstractModule AbstractModule is a helper class used to add bindings to the Guice injector.Guice The entry point to the Guice framework.Key<T> Guice uses Key objects to identify a dependency that can be resolved by the GuiceInjector.PrivateModule A module whose configuration information is hidden from its environment by default.Scopes Built-in scope implementations.TypeLiteral<T> Represents a generic typeT. -
Enum Summary Enum Description RestrictedBindingSource.RestrictionLevel Level of restriction.Stage The stage we're running in. -
Exception Summary Exception Description ConfigurationException Thrown when a programming error such as a misplaced annotation, illegal binding, or unsupported scope is found.CreationException Thrown when errors occur while creating aInjector.OutOfScopeException Thrown fromProvider.get()when an attempt is made to access a scoped object while the scope in question is not currently active.ProvisionException Indicates that there was a runtime failure while providing an instance. -
Annotation Types Summary Annotation Type Description BindingAnnotation Annotates annotations which are used for binding.Exposed Acccompanies a @Providesmethod annotation in a private module to indicate that the provided binding is exposed.ImplementedBy A pointer to the default implementation of a type.Inject Annotates members of your implementation class (constructors, methods and fields) into which theInjectorshould inject values.ProvidedBy A pointer to the default provider type for a type.Provides Annotates methods of aModuleto create a provider method binding.RestrictedBindingSource Annotation restricting the binding of the target type to permitted sources.RestrictedBindingSource.Permit Meta-annotation indicating that the target annotation is a permit for binding restricted bindings.ScopeAnnotation Annotates annotations which are used for scoping.Singleton Apply this to implementation classes when you want only one instance (perInjector) to be reused for all injections for that binding.