Class 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 Detail

      • 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