【发布时间】:2020-09-09 22:24:10
【问题描述】:
我正在尝试通过使用注入来获取实用程序方法的 ResourceLoader,但我不断收到以下错误:
Caused by: kotlin.UninitializedPropertyAccessException: lateinit property resourceResolver has not been initialized
@Singleton
class Injections {
@Inject
lateinit var resourceResolver: ResourceLoader
}
val inj = Injections()
fun <T> parseYaml(filePath: String): T {
if (!inj.resourceResolver.getResource(filePath).isPresent) {
throw IllegalArgumentException("Could not find file '$filePath'")
}
val inputStream = inj.resourceResolver.getResourceAsStream(filePath).get()
return Yaml().load(inputStream) as T
}
我不需要使用注入来实现这一点,我只需要从 parseYaml 方法访问 ResourceResolver。
【问题讨论】:
标签: kotlin dependency-injection micronaut