title: Why using Guice Provider instead of normal injection
body: <p>Sorry for asking dumb question, but I am quite new to Java and Guice framework. I fail to understand the use of Guice Provider class which provides an instance of any class in compression to the normal injected instance. As far as I understand, it allows you to create multiple instances of a class where as Injected instance is always Singleton. Is it the only difference or is there anything more than this?</p>
  
  <p>i.e.
  difference between:</p>
  
  <p><code>@Inject
  SomeClass someObjcet;</code></p>
  
  <p>VS</p>
  
  <p><code>@Inject
  Provider&lt;SomeClass&gt; provider;
  provider.get();</code></p>