修改路径或包名后,Springboot项目启动时报错:显示查找不到一个适合的Bean
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.du.data.dao.mapper.UserMapper' 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:1824) ~[spring-beans-6.0.9.jar:6.0.9]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1383) ~[spring-beans-6.0.9.jar:6.0.9]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337) ~[spring-beans-6.0.9.jar:6.0.9]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:710) ~[spring-beans-6.0.9.jar:6.0.9]
... 97 common frames omitted
可能出现的原因:spring容器找不到目标Bean,当在项目中修改一个类路径,包名、类名时,一些配置信息并不会自动更新,比如application.yml文件中的配置,或者是一些配置类中的扫描路径配置。需要我们手动去更新这些配置信息,才能让spring容器获取到Bean。
比如使用MyBatis-Plus框架时,会在配置文件中(application.yml)或者配置类需要添加扫描路径:必须手动更新