![](/img/trans.png)
[英]@Autowired but got lateinit property testBean has not been initialized error
[英]Got lateinit property has not been initialized error when using @Autowired and @Component
这个 AwsSqsUtil class 有一个组件注释,当我想在我的主 function 中使用它时,我收到错误“kotlin.UninitializedPropertyAccessException:lateinit 属性 awsSqsUtil 尚未初始化,如何解决此问题?
"
@Component
class AwsSqsUtil {
fun sendMessageToSqs() {
}
}
@Autowired
private lateinit var awsSqsUtil: AwsSqsUtil
awsSqsUtil.sendMessageToSqs()
你的变量声明到底在哪里? 它是在作为组件/服务/控制器/等的 class 内,还是仅在顶层?
我希望您的回答是顶级杠杆或普通的 class,因为那是您通常会遇到这种情况的时候。
解决方案是将主 class 单独留在 spring 引导应用程序中。 如果您想在启动时运行某些东西,您可以创建一个使用@PostConstruct
注释的乐趣(在适当的 spring 容器内)。 这样它将在 spring 应用程序实际启动后运行,您将能够随意自动装配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.