kotlin Bean加载失败lateinit property has not been initialized
Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘xxxApplicationConfig’: Unsatisfied dependency expressed through field ‘a(chǎn)ppConfigService’; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘AppConfigService’: Unsatisfied dependency expressed through field ‘xxxxxxxxxxxx’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘credentialGenerator’ defined in class path resource [com/icesimba/platform/simbasdk/config/XxxApplicationConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.icesimba.simba.security.CredentialGenerator]: Circular reference involving containing bean ‘xxxApplicationConfig’ - consider declaring the factory method as static for independence from its containing instance. Factory method ‘credentialGenerator’ threw exception; nested exception is kotlin.UninitializedPropertyAccessException: lateinit property appConfigService has not been initialized
bean未初始化成功,首先需要檢查bean。
若bean注入沒有問題,本地跑也沒有問題,可以嘗試手動將該類加載到上下文中,避免自動注入時,類加載順序異常導(dǎo)致的bean加載失敗。
1、實(shí)現(xiàn)這個類
ApplicationContextAware
2、注入上下文
private lateinit var ctx: ApplicationContext
override fun setApplicationContext(applicationContext: ApplicationContext) {this.ctx = applicationContext
}
3、拿到bean
val c = ctx.getBean(CredentialGenerator::class.java)
總結(jié)
以上是生活随笔為你收集整理的kotlin Bean加载失败lateinit property has not been initialized的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下创建硬链接,文件访问为空,提
- 下一篇: Gradle错误提示:Java home