Interface ApplicationLoader
-
- All Known Implementing Classes:
GuiceApplicationLoader
public interface ApplicationLoader
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 Java and Scala default implementation based on Guice. The Java implementation is the
GuiceApplicationLoader
and the Scala implementation isGuiceApplicationLoader
.A custom application loader can be configured using the `play.application.loader` configuration property. Implementations must define a no-arg constructor.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
ApplicationLoader.Context
The context for loading an application.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method 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.
-
-
-
Method Detail
-
apply
static ApplicationLoader apply(ApplicationLoader.Context context)
-
load
Application load(ApplicationLoader.Context context)
Load an application given the context.- Parameters:
context
- the context the apps should be loaded into- Returns:
- the loaded application
-
create
static ApplicationLoader.Context create(Environment environment, Map<String,Object> initialSettings)
Create an application loading context.Locates and loads the necessary configuration files for the application.
- Parameters:
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.- Returns:
- the created context
-
create
static ApplicationLoader.Context create(Environment environment)
Create an application loading context.Locates and loads the necessary configuration files for the application.
- Parameters:
environment
- The application environment.- Returns:
- a context created with the provided underlying environment
-
-