title: Injection via the constructor parameters vs. the Injector service
body: <p>I am using Angular2/4 for few months now and I still cannot figure out what is the difference between these two methods and which one I should use about Dependency Injection</p>
  
  <p>Can you help me please.</p>
  
  <h2>First method : via the constructor</h2>
  
  <pre><code>...
    constructor(
      private myService: MyService
    ) { 
      // this.myService.myMethod() ...
    }
  ...
  </code></pre>
  
  <p>and </p>
  
  <h2>Second Method : via the Injector</h2>
  
  <pre><code>...
    private myService: MyService;
  
    constructor(
      injector: Injector
    ) {
      this.myService = injector.get(MyService);
      // this.myService.myMethod() ...
    }
  ...
  </code></pre>
  
  <p>I understand what is done in each method, bubt I cannot figure out the best practice.</p>
  
  <p>I know it is probably a subjective opinion, but I think there pros and cons for both of them.</p>
  
  <p>Thanks for any explanation.</p>