title: What are providers in Angular2?
body: <p>In the Angular2 component configuration <code>providers</code> is one of the keys that we could specify. How are these providers defined and what are they used for?</p>
  
  <pre><code>@Component({
    ..
    providers: [..],
    ..
  })
  </code></pre>
  
  <p><strong>Note</strong>:</p>
  
  <p>Angular2 documentation is gradually maturing but still sparse. It currently defines <strong>providers</strong> as:</p>
  
  <blockquote>
    <p>An array of dependency injection providers for services that the
    component requires.</p>
  </blockquote>
  
  <p>This recursive definition isn't very helpful. A more detailed explanation with an example would really help.</p>