scala
libraryDependencies += "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.12.4"
libraryDependencies += "com.fasterxml.jackson.dataformat" % "jackson-dataformat-yaml" % "2.12.4"
scala
case class Config(database: DatabaseConfig)
case class DatabaseConfig(url: String, username: String)
scala
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory
val mapper = new ObjectMapper(new YAMLFactory())
mapper.registerModule(DefaultScalaModule)
scala
val configFile = new File("config.yml")
val config: Config = mapper.readValue(configFile, classOf[Config])
scala
val configFile = new File("config.yml")
mapper.writeValue(configFile, config)