Module
play.api.inject.Module
A Play dependency injection module.
Dependency injection modules can be used by Play plugins to provide bindings for JSR-330 compliant ApplicationLoaders. Any plugin that wants to provide components that a Play application can use may implement one of these.
Providing custom modules can be done by appending their fully qualified class names to play.modules.enabled in application.conf, for example
play.modules.enabled += "com.example.FooModule"
play.modules.enabled += "com.example.BarModule"
It is strongly advised that in addition to providing a module for JSR-330 DI, that plugins also provide a Scala trait that constructs the modules manually. This allows for use of the module without needing a runtime dependency injection provider.
The bind methods are provided only as a DSL for specifying bindings. For example:
def bindings(env: Environment, conf: Configuration) = Seq(
bind[Foo].to[FooImpl],
bind[Bar].to(new Bar()),
bind[Foo].qualifiedWith[SomeQualifier].to[OtherFoo]
)
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class I18nModuleclass SimpleModuleclass BuiltinModuleclass CookiesModuleclass LegacyCookiesModuleclass AssetsModule
Members list
In this article