Package play.inject
Class Module
- Object
-
- play.api.inject.Module
-
- play.inject.Module
-
- Direct Known Subclasses:
AhcWSModule,BuiltInModule,DBModule,FormattersModule,FormFactoryModule,JPAModule,OpenIdModule,ValidatorsModule
public abstract class Module extends play.api.inject.ModuleA 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
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.play.modules.enabled += "com.example.FooModule" play.modules.enabled += "com.example.BarModule"The `bind` methods are provided only as a DSL for specifying bindings. For example:
@Override public List<Binding<?>> bindings(Environment environment, Config config) { return Arrays.asList( bindClass(Foo.class).to(FooImpl.class), bindClass(Bar.class).to(() -> new Bar()), bindClass(Foo.class).qualifiedWith(SomeQualifier.class).to(OtherFoo.class) ); }
-
-
Constructor Summary
Constructors Constructor Description Module()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static <T> BindingKey<T>bindClass(Class<T> clazz)Create a binding key for the given class.scala.collection.immutable.Seq<play.api.inject.Binding<?>>bindings(play.api.Environment environment, play.api.Configuration configuration)abstract List<Binding<?>>bindings(Environment environment, com.typesafe.config.Config config)
-
-
-
Method Detail
-
bindings
public abstract List<Binding<?>> bindings(Environment environment, com.typesafe.config.Config config)
-
bindings
public final scala.collection.immutable.Seq<play.api.inject.Binding<?>> bindings(play.api.Environment environment, play.api.Configuration configuration)- Specified by:
bindingsin classplay.api.inject.Module
-
bindClass
public static <T> BindingKey<T> bindClass(Class<T> clazz)
Create a binding key for the given class.
-
-