title: How does AngularJS2 inject dependencies into my component with TypeScript
body: <p>I am seeing various versions of how to inject dependencies into my component, some are working for me, others not. So I am wondering, what are the pros and cons, what is the recommended best practice and why are certain ones not working as expected. Here an example:</p>
  
  <pre><code>@Component()
  @Injectable()
  class MyComponent {
  
    dependency1: Dependency1;
  
    constructor(dependency2: Dependency2, dependency3: Dependency3) {
      this.dependency2 = dependency2;
    }
  
    someFunction() {
      // Which of those will work, which is the best practice,
      //what are pros and cons
      this.dependency1.get();
      this.dependency2.get();
      this.dependency3.get();
    }
  }
  </code></pre>
  
  <p>So based on this example:</p>
  
  <ol>
  <li><p>Is version 1 (Dependency1) equivalent to version 2 (Dependeny2)? Or is version 1 only for TypeScript without any relevance for injection?</p></li>
  <li><p>Is this line of code</p>
  
  <p>this.dependency2 = dependency2;</p></li>
  </ol>
  
  <p>necessary of will this be done "automagically" like assumed for Dependency3?</p>
  
  <ol start="3">
  <li>What is Injectable doing exactly? How would the answer to questions 1 and 2 differ without it?</li>
  </ol>
  
  <p>Thanks a lot</p>