播放框架上的部分参数列表注入
partial parameter list injection on play framework
给定一个 class
class Foo @Inject()(cfg: Config, private val emr: AmazonElasticMapReduce = AmazonElasticMapReduceClientBuilder.defaultClient())
(implicit actorSystem: ActorSystem, ec: ExecutionContext)
play 框架在尝试注入 'emr' 值时失败。
我不想玩注入它,而是想使用默认值。
可以定义吗?
您需要添加到您的 Module.scala
:
bind(classOf[AmazonElasticMapReduce]).toInstance(AmazonElasticMapReduceClientBuilder.defaultClient()).asEagerSingleton()
而不是试图将它提供给构造函数。
如果您根本不想注入它,您可以将它作为 class 中的成员。
给定一个 class
class Foo @Inject()(cfg: Config, private val emr: AmazonElasticMapReduce = AmazonElasticMapReduceClientBuilder.defaultClient())
(implicit actorSystem: ActorSystem, ec: ExecutionContext)
play 框架在尝试注入 'emr' 值时失败。
我不想玩注入它,而是想使用默认值。 可以定义吗?
您需要添加到您的 Module.scala
:
bind(classOf[AmazonElasticMapReduce]).toInstance(AmazonElasticMapReduceClientBuilder.defaultClient()).asEagerSingleton()
而不是试图将它提供给构造函数。
如果您根本不想注入它,您可以将它作为 class 中的成员。