AppLoader.scala 806 B

1234567891011121314151617181920212223242526272829
  1. import play.api.{controllers => _, _}
  2. import router.Routes
  3. import routing.Router
  4. import ApplicationLoader.Context
  5. import com.softwaremill.macwire._
  6. import play.modules.reactivemongo.ReactiveMongoApiFromContext
  7. import startup.Startup
  8. class AppLoader extends ApplicationLoader {
  9. def load(context: Context) = {
  10. LoggerConfigurator(context.environment.classLoader).foreach {
  11. _.configure(context.environment, context.initialConfiguration, Map.empty)
  12. }
  13. new Startup(context.initialConfiguration.underlying)
  14. new AppComponents(context).application
  15. }
  16. }
  17. class AppComponents(context: Context)
  18. extends ReactiveMongoApiFromContext(context) {
  19. override lazy val router: Router = new Routes(
  20. httpErrorHandler,
  21. wire[controllers.Application]
  22. )
  23. lazy val httpFilters = Seq.empty
  24. }