最近,我正在阅读一些scala代码,它使用Guice注入Typesafe Config。在我看来,这是一种魔法。我的问题是,如何解释这段代码?Guice是否将在sbt-程序集中读取的所有配置值自动注入类型设置?
Scala代码:
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
...发布于 2020-01-17 03:48:20
我想你在这里混合了三种不同的机制
Config。它如何知道这取决于您正在使用的框架(如果不使用,则如何实例化Guice容器);application.conf显式导入的所有其他文件(使用import other_conf.conf)。我假设在你的例子中,import prod.conf在application.conf的某个地方https://stackoverflow.com/questions/59776438
复制相似问题