title: When exactly does Google Guice build @Singleton bindings lazily?
body: <p>From the documentation <a href="https://github.com/google/guice/wiki/Scopes#user-content-applying-scopes" rel="nofollow noreferrer">here</a>:</p>
  <p>The only time @Singleton will be lazily initialized (with stage set to PRODUCTION) is below:</p>
  <ul>
  <li>Guice will only eagerly build singletons for the types it knows about. These are the types mentioned in your modules, plus the transitive dependencies of those types.</li>
  </ul>
  <p>I don't think I understand that statement. In my case, all the types are already known at compile time.</p>
  <p>I have a Module class (that extends AbstractModule), and it declares a lot of bindings via methods annotated with <code>@Provides @Singleton @Named(...)</code>.</p>
  <p>And they're all getting created lazily. I want this to happen eagerly (at application startup). What do I need to do here? (I have to use @Singleton annotation for certain reasons)</p>