title: Understanding Play 2.4 Dependency Injection
body: <p>I have issues to understand how to apply the new feature of Dependency Injection in Play 2.4. I'm familiar with Guice and miss in the Play Documentation an explanation how and when the actual binding is happening. I read the official docu [1] and tried to use the latest Play Mailer [2] as an example. The Play Mailer example uses an arbitrary class and annotates the <code>MailerClient</code> property with <code>@inject</code>. When I try to use an object of this class the property is <code>null</code>, at least while debugging. So, where and when do I have to do the actual injection? I have the same issue for the <code>@singleton</code> annotation. It is just explained how to annotate it, but not how to get an object. Do I have to use Guice directly, or is it integrated some how?</p>
  
  <p>[1] <a href="https://www.playframework.com/documentation/2.4.x/JavaDependencyInjection">https://www.playframework.com/documentation/2.4.x/JavaDependencyInjection</a></p>
  
  <p>[2] <a href="https://github.com/playframework/play-mailer">https://github.com/playframework/play-mailer</a></p>