title: How does @Inject in Scala work
body: <p>I'm wondering how does @Inject annotation in Play-Scala works. It obviously injects a dependency, but I'm curious how is it working. When I was using it on class extending controller and set routes generator to injectroutesgenerator it seems to autmagically create objects from those classes, but how do I use it in other context?</p>
  
  <p>I tried:</p>
  
  <pre><code>@Inject val mailer: MailerClient = null
  </code></pre>
  
  <p>But that doesn't seem to work. Are there any posibilities to @Inject things (that mailerClient, WS ets.) directly to a value, not to controller class?</p>