Dependency Injection Testing Play offers multiple integrations with testing frameworks. There is support for JUnit, Scalatest, Specs2, Selenium, and there are also many testing helpers to easily write tests when using these frameworks. Twirl Twirl is the Play template engine. Play WS Play WS is a powerful HTTP Client library, originally developed by the Play team for use with Play Framework. It uses AsyncHttpClient for HTTP client functionality and has no Play dependencies. For more information on how to use Play WS in Play, please refer to the Play documentation for Java or Scala. Play JSON Play JSON is a powerful Scala JSON library, originally developed by the Play team for use with Play Framework. It uses Jackson for JSON parsing and has no Play dependencies. Read the docs for more information about how to use Play JSON. Database Access Play offers multiple ways to access a database. You can use JPA, Ebean, Slick, Anorm, JDBC and many other modules created and maintained by the community. Build Tools Play is a series of libraries available in Maven Repository, so you can use any Java build tool to build a Play project. However, much of the development experience Play is known for (routes, templates compilation and auto-reloading) is provided by sbt or Gradle.