嗨,我是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'
答案 0 :(得分:1)
由于多种原因,可能发生UnsatisfiedDependencyException。
如果我们没有为特定的类创建bean,或者我们错过了该类的@Component注释。 Spring不会管理这些类,因此spring容器不会创建要自动装配的对象。
自动装配不属于组件扫描的软件包一部分的类。 Spring将仅在程序包扫描中包含的程序包中搜索组件。
如果存在非唯一的依赖项解决方案。如果一个接口有两个以上的实现,Spring将不知道应该自动装配哪个。通过使用@Qualifier注释和@Autowired提及正确的实现,可以避免这种情况。