【发布时间】:2020-08-14 16:53:52
【问题描述】:
我对 kotlin 比较陌生,我无法理解 spring 自动装配
kotlin.UninitializedPropertyAccessException: lateinit property applicationContext has not been initialized
运行时出现上述错误:
@SpringBootTest
internal class MeterResourceAdapterTest () {
@Autowired
private lateinit var applicationContext: ApplicationContext
@Test
fun toMeterReadingResourceList() {
print(applicationContext.applicationName)
.....//I hope my implementation can be ignored
}
这里发生了什么?顺便说一句,为什么需要 lateinit,以及“它”何时被初始化?
【问题讨论】:
-
我只是尝试运行一个最小的示例来重现您的问题,但它运行良好。如果我不得不猜测,您的依赖项存在一些问题,导致无法正确创建
applicationContext。您应该提供更多信息 - 您的应用程序运行正常吗?你有测试属性吗?
标签: spring spring-boot unit-testing kotlin lateinit