1

我对 kotlin 比较陌生,我无法理解弹簧自动装配

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,以及“它”何时被初始化?

4

1 回答 1

0

@Stav Shamir 的评论使我得出了这个决议。

我不能确定是什么原因造成的,但几乎可以肯定这与我的 pom.xml 中的 junit 的旧版本有关。当我通过初始化程序创建一个新项目时,然后将该 pom 的内容( < dependencies/ > )复制到我的 pom 中;一切顺利。

于 2020-05-01T09:54:42.703 回答