trait ApplicationLoader extends AnyRef
Concrete Value Members
- final def !=(arg0: Any): Boolean
- final def ##: Int
- final def ==(arg0: Any): Boolean
- final def asInstanceOf[T0]: T0
- def clone(): AnyRef
- final def eq(arg0: AnyRef): Boolean
- def equals(arg0: AnyRef): Boolean
- final def getClass(): Class[_ <: AnyRef]
- def hashCode(): Int
- final def isInstanceOf[T0]: Boolean
- final def ne(arg0: AnyRef): Boolean
- final def notify(): Unit
- final def notifyAll(): Unit
- final def synchronized[T0](arg0: => T0): T0
- def toString(): String
- final def wait(arg0: Long, arg1: Int): Unit
- final def wait(arg0: Long): Unit
- final def wait(): Unit
Deprecated Value Members
- def finalize(): Unit
Inherited from AnyRef
Inherited from Any
Loads an application. This is responsible for instantiating an application given a context.
Application loaders are expected to instantiate all parts of an application, wiring everything together. They may be manually implemented, if compile time wiring is preferred, or core/third party implementations may be used, for example that provide a runtime dependency injection framework.
During dev mode, an ApplicationLoader will be instantiated once, and called once, each time the application is reloaded. In prod mode, the ApplicationLoader will be instantiated and called once when the application is started.
Out of the box Play provides a Guice module that defines a Java and Scala default implementation based on Guice, as well as various helpers like GuiceApplicationBuilder. This can be used simply by adding the "PlayImport.guice" dependency in build.sbt.
A custom application loader can be configured using the
play.application.loader
configuration property. Implementations must define a no-arg constructor.