Search code examples
javaguicegwt-gin

Difference between singleton and eagersingleton for Gin or Guice?


I was wondering what is the different between singleton and eagersingleton for Gin or Guice?


Solution

  • From Guice's Wiki

    Eager singletons reveal initialization problems sooner, and ensure end-users get a consistent, snappy experience. Lazy singletons enable a faster edit-compile-run development cycle. Use the Stage enum to specify which strategy should be used.

    • Eager: "create an instance of this class when the Module is being run"
    • Lazy: "create an instance of this class when it's first requested for dependency injection"