最近,我正在阅读一些使用Guice注入Typesafe Config的scala代码。对我来说,这如何工作似乎有些神奇。我的问题是,如何解释此代码? Guice是否将所有在sbt-assembly中读取的配置值自动注入到typesafe config中?
标量代码:
class FooImpl @Inject() (
config: Config
) extends Foo {
private val myConfig = "section.foo"
override val batchSize = config.getInt(s"$myConfig.batchSize")
.....
}
在Setting.scala中
object Settings {
...
assemblyMergeStrategy in assembly := {
case "prod.conf" => MergeStrategy.concat
case x =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
oldStrategy(x)
}
...
在prod.conf中
section {
foo {
batchSize = 10000
...