【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