1. 程式人生 > >異常org.springframework.beans.factory.NoSuchBeanDefinitionException

異常org.springframework.beans.factory.NoSuchBeanDefinitionException

在使用spring自動注入時遇到了org.springframework.beans.factory.NoSuchBeanDefinitionException異常。經檢查是因為在bean類中自動注入了本類(寫程式碼把自己寫懵逼了)。但也想寫一下出現這個異常。

出現這個異常的原因是因為在spring的上下文中找不到相應bean類。

Cause: No qualifying bean of type […] found for dependency:最經常出現的原因是就是這個原因:想要嘗試注入的bean類沒有定義。

@Component
public class A {
 
    @Autowired
    private B b;
    ...
}
org.springframework.beans.factory.NoSuchBeanDefinitionException: 
    No qualifying bean of type [com.packageB.B] found for dependency: 
    expected at least 1 bean which qualifies as autowire candidate for this dependency. 
    Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
根據錯誤的提示可以很清楚的明白了。

需要建立B類,然後在新增@Component, @Repository, @Service, @Controller, etc註解。當然如果你注入的是抽象類或者介面,不需要在此抽象類和介面上新增這些註解。只需要在它的子類上新增上註解就可以了。