Angular2 what is providers, when injector create service instance with provider, : <p>I really want to know What is providers? what relationship with DI in angular2?</p>

<p>app.module.ts</p>

<pre><code>@NgModule({
  imports: [
    BrowserModule,
    FormsModule,
  ],
  declarations: [
    test,
  ],
  bootstrap: [ AppComponent ],
  providers: [
    userService
  ]
})
export class AppModule { }
</code></pre>

<p>test.component.ts</p>

<pre><code>export class TestComponent implements OnInit, OnDestroy {
constructor(public user: userService)
}
</code></pre>

<p>In my understanding, provider contains services list token, injector will use these service token to new service instance. service must be registered in providers.</p>

<p>I'm not sure services instance is created by injector or provider? If created by injector, why we need providers?</p>
