Class Guice

java.lang.Object
com.google.inject.Guice

public final class Guice extends Object
The entry point to the Guice framework. Creates 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();
      }
    }
  • Method Details

    • createInjector

      public static Injector createInjector(Module... modules)
      Creates an injector for the given set of modules. This is equivalent to calling createInjector(Stage, Module...) with Stage.DEVELOPMENT.
      Throws:
      CreationException - if one or more errors occur during injector construction
    • createInjector

      public static Injector createInjector(Iterable<? extends Module> modules)
      Creates an injector for the given set of modules. This is equivalent to calling createInjector(Stage, Iterable) with Stage.DEVELOPMENT.
      Throws:
      CreationException - if one or more errors occur during injector creation
    • createInjector

      public static Injector createInjector(Stage stage, Module... modules)
      Creates an injector for the given set of modules, in a given development stage.
      Throws:
      CreationException - if one or more errors occur during injector creation.
    • createInjector

      public static Injector createInjector(Stage stage, Iterable<? extends Module> modules)
      Creates an injector for the given set of modules, in a given development stage.
      Throws:
      CreationException - if one or more errors occur during injector construction