![](/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.