public interface ApplicationLoader
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 Java and Scala default implementation based on Guice. The Java
implementation is the GuiceApplicationLoader
and the Scala
implementation is GuiceApplicationLoader
.
A custom application loader can be configured using the `play.application.loader` configuration property. Implementations must define a no-arg constructor.
Modifier and Type | Interface and Description |
---|---|
static class |
ApplicationLoader.Context
The context for loading an application.
|
Modifier and Type | Method and Description |
---|---|
static ApplicationLoader |
apply(ApplicationLoader.Context context) |
static ApplicationLoader.Context |
create(Environment environment)
Create an application loading context.
|
static ApplicationLoader.Context |
create(Environment environment,
Map<String,Object> initialSettings)
Create an application loading context.
|
Application |
load(ApplicationLoader.Context context)
Load an application given the context.
|
static ApplicationLoader apply(ApplicationLoader.Context context)
Application load(ApplicationLoader.Context context)
context
- the context the apps hould be loaded intostatic ApplicationLoader.Context create(Environment environment, Map<String,Object> initialSettings)
Locates and loads the necessary configuration files for the application.
environment
- The application environment.initialSettings
- The initial settings. These settings are merged with the settings from
the loaded configuration files, and together form the initialConfiguration provided by the
context. It is intended for use in dev mode, to allow the build system to pass additional
configuration into the application.static ApplicationLoader.Context create(Environment environment)
Locates and loads the necessary configuration files for the application.
environment
- The application environment.