一堆更改后如何解决UnsatisfiedDependencyException

时间:2019-06-10 15:43:57

标签: spring spring-mvc

嗨,我是Spring世界的新手,需要对此问题进行一些思考。 更新了一堆文件后,Spring Web服务无法成功启动运行。

TestMainApplication是我的主要引导文件。

我相信根本原因是chartServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 6; 但是,我还没有更新secondaryChannelServiceImpl的任何内容。

有什么想法或方向研究这种问题吗?

构造函数重复出现问题还是?

    at com.iicloud.goodOrg.TestMain.service.TestMainApplication.main(TestMainApplication.java:69)

    Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 

    Error creating bean with name 'org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration': Unsatisfied dependency 
    expressed through method 'setConfigurers' parameter 0; 
    nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'TestMainApplication': 
    Unsatisfied dependency expressed through field 'chartService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'chartServiceImpl' defined in file [.../charts/service/impl/chartServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 6; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'secondaryChannelServiceImpl' 

1 个答案:

答案 0 :(得分:1)

由于多种原因,可能发生UnsatisfiedDependencyException。

  • 如果我们没有为特定的类创建bean,或者我们错过了该类的@Component注释。 Spring不会管理这些类,因此spring容器不会创建要自动装配的对象。

  • 自动装配不属于组件扫描的软件包一部分的类。 Spring将仅在程序包扫描中包含的程序包中搜索组件。

  • 如果存在非唯一的依赖项解决方案。如果一个接口有两个以上的实现,Spring将不知道应该自动装配哪个。通过使用@Qualifier注释和@Autowired提及正确的实现,可以避免这种情况。