2023-11-02 15:08:58.703 WARN  --- [main] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext : [] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'axxxController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'axxxFacadeImpl': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.xx.support.feign.UxxxFeign' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
2023-11-02 15:08:58.713 INFO  --- [main] o.a.catalina.core.StandardService : [] Stopping service [Tomcat]
2023-11-02 15:08:58.748 INFO  --- [main] o.s.b.a.l.ConditionEvaluationReportLoggingListener : [] 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-11-02 15:08:59.223 ERROR --- [main] o.s.b.d.LoggingFailureAnalysisReporter : [] 

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

Description:

A component required a bean of type 'com.xx.support.feign.UxxxOFeign' that could not be found.


Action:

Consider defining a bean of type 'com.xx.support.feign.UxxxFeign' in your configuration.

Disconnected from the target VM, address: '127.0.0.1:3950', transport: 'socket'

Process finished with exit code 1

这是Feign接口的找不到bean,而不是其他类,这时候无论你写多少@Component都是没用的。

正确的解决方案是在启动类上做手段

@EnableJdSwagger2
@ComponentScan(basePackages = {"com.xx"})
@MapperScan("com.xx.xx.dao.mapper")
@EnableTransactionManagement(proxyTargetClass = true)
@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class})
@EnableFeignClients(basePackages = { "com.xx.xx.services.integration"})
@EnableAsync
public class PxxxiApplication {

    public static void main(String[] args) {
        SpringApplication.run(PxxxiApplication.class, args);
    }
}
// 这个路径一定要能扫描到,看源码会发现他是个数组,意味着你可以传多个
@EnableFeignClients(basePackages = { "com.xx.xx.services.integration"})
分类: java

0 条评论

发表评论

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

站点统计

  • 文章总数:304 篇
  • 分类总数:19 个
  • 标签总数:189 个
  • 运行天数:852 天
  • 访问总数:459649 人次
ICP备案号: 辽ICP备20003309号