gpt4 book ai didi

ktor - 如何在 Ktor 中使用自定义配置?

转载 作者:行者123 更新时间:2023-12-05 08:20:17 28 4
gpt4 key购买 nike

我正在挖掘内置配置支持,并想使用它(而不是仅仅将我自己的配置与 Ktor 的配置一起使用),但我很难弄清楚如何以一种干净的方式来实现它。我有这个,它正在工作,但它真的很难看,我觉得必须有更好的方法:

val myBatisConfig = MyBatisConfig(
environment.config.property("mybatis.url").getString(),
environment.config.property("mybatis.driver").getString(),
environment.config.property("mybatis.poolSize").getString().toInt())

installKoin(listOf(mybatisModule(myBatisConfig), appModule), logger = SLF4JLogger())

感谢您的帮助!

最佳答案

添加到现有的已接受答案。使用 ConfigFactory.load() 的实现可能如下所示(没有库):


object Config {
@KtorExperimentalAPI
val config = HoconApplicationConfig(ConfigFactory.load())


@KtorExperimentalAPI
fun getProperty(key: String): String? = config.propertyOrNull(key)?.getString()


@KtorExperimentalAPI
fun requireProperty(key: String): String = getProperty(key)
?: throw IllegalStateException("Missing property $key")
}

因此,配置类将变为:

val myBatisConfig = MyBatisConfig(
requireProperty("mybatis.url"),
requireProperty("mybatis.driver"),
requireProperty("mybatis.poolSize").toInt())

关于ktor - 如何在 Ktor 中使用自定义配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53891189/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com