public final class Guice extends Object
Injectors from
Modules.
Guice supports a model of development that draws clear boundaries between APIs, Implementations of these APIs, Modules which configure these implementations, and finally Applications which consist of a collection of Modules. It is the Application, which typically defines your main() method, that bootstraps the Guice Injector using the Guice class, as in this example:
public class FooApplication {
public static void main(String[] args) {
Injector injector = Guice.createInjector(
new ModuleA(),
new ModuleB(),
. . .
new FooApplicationFlagsModule(args)
);
// Now just bootstrap the application and you're done
FooStarter starter = injector.getInstance(FooStarter.class);
starter.runApplication();
}
}
| Modifier and Type | Method and Description |
|---|---|
static Injector |
createInjector(Iterable
Creates an injector for the given set of modules.
|
static Injector |
createInjector(Module
Creates an injector for the given set of modules.
|
static Injector |
createInjector(Stage
Creates an injector for the given set of modules, in a given development stage.
|
static Injector |
createInjector(Stage
Creates an injector for the given set of modules, in a given development stage.
|
public static InjectorcreateInjector(Module ... modules)
createInjector(Stage, Module...) with Stage.DEVELOPMENT.
CreationException - if one or more errors occur during injector construction
public static InjectorcreateInjector(Iterable <? extends Module > modules)
createInjector(Stage, Iterable) with Stage.DEVELOPMENT.
CreationException - if one or more errors occur during injector creation
public static InjectorcreateInjector(Stage stage, Module ... modules)
CreationException - if one or more errors occur during injector creation.
public static InjectorcreateInjector(Stage stage, Iterable <? extends Module > modules)
CreationException - if one or more errors occur during injector construction