Class Guice

java.lang.Object
org.elasticsearch.common.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.
      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.
      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