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

 

相关文章:

  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2021-12-18
  • 2021-11-14
  • 2022-12-23
猜你喜欢
  • 2021-09-22
  • 2021-08-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案