Dependency injection in Scala with Play 2: it’s free When you write a software you generally split it into several modules with no hardcoded dependencies between them so you can reuse and test them more easily: you just need to wire the different modules together at startup according to your desired configuration. In the Java world, some tools help to perform the wiring task, e.g. Spring or Guice,