title: What "things" can be injected into others in Angular.js?
body: <p>I'm having a little hard time understanding Dependency Injection in Angular. So my question is, can anyone explain which of the "types", like Controller, Factory, Provider, etc can we inject into others, including other instances of same "type"?</p>
  
  <p>What I'm actually looking for is this table filled with y/n. For cells with same row/column, that means injecting the value of one "type" into another another one with the same "type"</p>
  
  <pre><code>+----------------+----------+------------+-----------+---------+--------+----------+---------+-------+
  | Can we inject? | Constant | Controller | Directive | Factory | Filter | Provider | Service | Value |
  +----------------+----------+------------+-----------+---------+--------+----------+---------+-------+
  | Constant       |          |            |           |         |        |          |         |       |
  | Controller     |          |            |           |         |        |          |         |       |
  | Directive      |          |            |           |         |        |          |         |       |
  | Factory        |          |            |           |         |        |          |         |       |
  | Filter         |          |            |           |         |        |          |         |       |
  | Provider       |          |            |           |         |        |          |         |       |
  | Service        |          |            |           |         |        |          |         |       |
  | Value          |          |            |           |         |        |          |         |       |
  +----------------+----------+------------+-----------+---------+--------+----------+---------+-------+
  </code></pre>