title: Working of Google's Guice with Dropwizard
body: <p>I went through the <a href="https://github.com/google/guice/wiki/Motivation" rel="nofollow noreferrer">official documentation</a> of Guice and It says that We need to create an injector with all the Guice Modules and then call something like: </p>
  
  <pre><code>  Injector injector = Guice.createInjector(new BillingModule());
      BillingService billingService = injector.getInstance(BillingService.class);
  </code></pre>
  
  <p>But when I am going through the <a href="https://github.com/HubSpot/dropwizard-guice" rel="nofollow noreferrer">dropwizard-guice</a> <a href="https://github.com/eliast/dropwizard-guice-example/blob/master/src/main/java/com/example/helloworld/HelloWorldApplication.java" rel="nofollow noreferrer">example</a>. It is creating GuiceBundle and adding It to <strong>bootstrap</strong>:</p>
  
  <pre><code>bootstrap.addBundle(guiceBundle);
  </code></pre>
  
  <p>I want to understand It's internal working that how it is linking <strong>@Inject</strong> written anywhere in the code with the instances provides by Guice bundles. </p>