【Spring】 No qualifying bean of type 'java.lang.String' available: expected at least 1 bean which qua


1.出現問題

在使用spring框架中service依賴dao 重載了默認的構造方法。重載之后 默認的構造方法就會被覆蓋。

public class PersionDao {

    private String personName = "person222";

    public PersionDao(String personName) {
        this.personName = personName;
    }
}

然后運行就出現了以下錯誤。

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.lang.String' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

2.問題分析 

可以看到提示顯示的是沒有找到NoSuchBeanDefinition  原因是springioc容器加載bean默認使用無參構造進行初始化。

而Spring實例化bean有四種方式

1.無參構造方法實例化(Spring默認,常用,需要bean類中存在無參構造方法);

2.靜態工廠實例化

3.實例化工廠實例化

4.注解方式實例化

3.問題解決

加一個默認的構造方法就可以了。

參考文章

https://blog.csdn.net/afsf12134/article/details/89813904?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM