Error creating bean Unsatisfied dependency expressed through field No qualifying bean of type

报错内容


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.3.RELEASE)

2023-08-30 15:43:27.465  [main] INFO  com.cyboil.App:50 - Starting App on wttDesktop with PID 17652 (D:\CodeByYunFeiYang\9.16\v_9.16\main\target\classes started by Administrator in D:\CodeByYunFeiYang\9.16\v_9.16\main)
2023-08-30 15:43:27.468  [main] INFO  com.cyboil.App:663 - The following profiles are active: dev
2023-08-30 15:43:38.179  [main] INFO  org.apache.coyote.http11.Http11NioProtocol:180 - Initializing ProtocolHandler ["http-nio-8080"]
2023-08-30 15:43:38.215  [main] INFO  org.apache.catalina.core.StandardService:180 - Starting service [Tomcat]
2023-08-30 15:43:38.215  [main] INFO  org.apache.catalina.core.StandardEngine:180 - Starting Servlet Engine: Apache Tomcat/8.5.31
2023-08-30 15:43:38.230  [localhost-startStop-1] INFO  org.apache.catalina.core.AprLifecycleListener:180 - The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Dept\Java\jdk1.8.0_31\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\Program Files\Dept\apache-maven-3.6.1\bin;C:\Program Files\Dept\Java\jdk1.8.0_31\bin;C:\Program Files\Dept\Java\jdk1.8.0_31\jre\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Dept\Mysql5.5\bin;C:\Program Files\MySQL\MySQL Server 5.5\bin;D:\Program Files\Dept\Git\cmd;D:\Program Files\Dept\VisualSVN Server\Location\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Tencent\微信web开发者工具\dll;D:\Program Files\Dept\微信web开发者工具\dll;D:\Program Files\Dept\rabbitmq\erl\erl-24.1.4\bin;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Azure Data Studio\bin;D:\Program Files\Dept\yarn\bin\;D:\Program Files\nodejs\;C:\Program Files\dotnet\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\Administrator\AppData\Local\Programs\Python\Python311\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Azure Data Studio\bin;C:\Users\Administrator\AppData\Local\Programs\Fiddler;C:\Users\Administrator\AppData\Local\Yarn\bin;C:\Users\Administrator\AppData\Roaming\npm;C:\Users\Administrator\.dotnet\tools;.]
2023-08-30 15:43:38.621  [localhost-startStop-1] INFO  o.a.c.c.C.[Tomcat].[localhost].[/yunjie]:180 - Initializing Spring embedded WebApplicationContext
2023-08-30 15:43:40.424  [localhost-startStop-1] INFO  com.cyboil.common.baseframe.config.ActuatorFilter:36 - ActuatorFilter init success
2023-08-30 15:43:40.467  [main] WARN  o.s.b.f.a.AutowiredAnnotationBeanPostProcessor:438 - Autowired annotation is not supported on static fields: private static int com.cyboil.App.OrderExpireTimeout


-----StaticFieldInjectionConfiguration----
2023-08-30 15:43:52.372  [main] INFO  c.c.common.baseframe.config.logback.LoggerBuilder:117 - 日志打印位置:>>>>>>>>>>>>>>'/n'C:\Users\Administrator\AppData\Local\Temp\tomcat.2503141041504869683.8080/logs/CMSLightV9.16zhmysql/\DBName
LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1791944801
LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@2018614627
LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1330952566
LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@587820621
2023-08-30 15:44:09.433  [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:558 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cardBalanceServiceController': Unsatisfied dependency expressed through field 'custBalanceSheetService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.cyboil.service.CardBalanceSheetService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2023-08-30 15:44:09.524  [main] INFO  com.alibaba.druid.pool.DruidDataSource:2029 - {dataSource-0} closing ...
2023-08-30 15:44:09.529  [main] INFO  org.apache.catalina.core.StandardService:180 - Stopping service [Tomcat]
2023-08-30 15:44:09.850  [main] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter:42 - 

***************************
APPLICATION FAILED TO START
***************************

Description:

Field custBalanceSheetService in com.cyboil.controller.CardBalanceServiceController required a bean of type 'com.cyboil.service.CardBalanceSheetService' that could not be found.


Action:

Consider defining a bean of type 'com.cyboil.service.CardBalanceSheetService' in your configuration.

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cardBalanceServiceController': Unsatisfied dependency expressed through field 'custBalanceSheetService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.cyboil.service.CardBalanceSheetService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:587)
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:91)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:373)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1350)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:580)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:503)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
	at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$119/1536728519.getObject(Unknown Source)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:760)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:327)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243)
	at com.cyboil.App.main(App.java:45)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:67)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.cyboil.service.CardBalanceSheetService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1509)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:584)
	... 25 more
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cardBalanceServiceController': Unsatisfied dependency expressed through field 'custBalanceSheetService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.cyboil.service.CardBalanceSheetService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

我的问题是第一种情况

查阅资料了发现这类问题出现的原因有以下几点
1:在controller的service的时候使用了注解@Autowired。但是在service的实现类中未使用@Service注解,导致找不到

2:接口没有写实现类,实现类实现错了接口

3:有可能没有找到需要扫描的包(也就是xml文件出现了错误,如果xml文件没有错误,就去调用xml文件的web-info目录下)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unsatisfied dependency expressed through field 'bookDao'是指在创建名为'SpringApplicationTest'的bean时,通过字段'bookDao'表达的依赖无法满足。具体报错信息显示了这个问题的原因是没有找到类型为'com.dao.BookDao'的合格的bean。这意味着Spring容器无法自动装配这个依赖关系,因为容器中没有与'bookDao'字段类型匹配的bean可用。要解决这个问题,你可以考虑以下几个方法: 1. 确保你的项目中已经定义了'com.dao.BookDao'的bean,并且这个bean已经被正确地扫描和加载到Spring容器中。你可以检查相关的配置文件或注解来确保正确配置了这个bean。 2. 检查'com.dao.BookDao'类是否被正确地标记为一个Spring Bean。你可以使用注解如@Component、@Repository或@Service来确保这个类被正确地注入到Spring容器中。 3. 确保你的项目中没有出现其他冲突或重复的bean定义。如果有多个bean符合'com.dao.BookDao'的要求,可能会导致冲突并触发此错误。你可以检查相关的配置文件或注解来排除这种可能性。 4. 如果你在测试类中使用了'com.dao.BookDao'的对象,你可以考虑使用模拟对象或者测试替身来代替真正的bean。这样可以避免对真正的bean的依赖,并且使测试类更加独立和可靠。 综上所述,Unsatisfied dependency expressed through field 'bookDao'的错误是由于Spring容器找不到符合要求的'com.dao.BookDao'类型的bean所引起的。你可以通过检查bean的配置、注解、冲突或使用模拟对象来解决这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值