SpringBoot(cloud)自动装配bean找不到类型

Spring基于注解的@Autowired是比较常用的自动装配注解,但是会因为个人的疏忽,SSM进行配置的时候没有将对应bean所在包给扫描进去;或者使用Boot的时候,没有放在启动类所在包及其子包下导致报错。

今天笔者就犯了因为boot扫不到包的问题:

Description:

Field empApi in feign_consumer.demo.controller.testController required a bean of type 'api.eApi' that could not be found.

The injection point has the following annotations:
	- @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean of type 'api.eApi' in your configuration.


Process finished with exit code 1

看报错,很明显就是找不到Bean;换而言之就是bean对象没有装配到Spring容器中,导致启动的时候要装配缺找到。

看项目结构:
在这里插入图片描述

很明显:
在boot启动的时候扫描的是feign_consumer.demo这个包及其子包,而需要装配的bean就只在api这包下,Spring在启动的时候根本不会扫到api这个包(除非使用了@ComponentScan修改了约定)。所以就会导致项目启动报错。

这也提醒了我们,使用模块化开发要注意项目的完整性以及其工程结构;另外,代码规范也很重要。

Spring Boot Cloud是一个基于Spring Boot的开发框架,用于构建分布式系统和微服务架构。它提供了一套简化的开发工具和组件,使得开发者可以更加方便地构建、部署和管理分布式系统。 Spring Boot Cloud主要包括以下几个核心组件: 1. 服务注册与发现:Spring Boot Cloud通过集成服务注册与发现组件(如Eureka、Consul等),实现了服务的自动注册与发现。开发者只需要在应用中添加相应的依赖和配置,就可以实现服务的自动注册和发现。 2. 负载均衡:Spring Boot Cloud通过集成负载均衡组件(如Ribbon、Zuul等),实现了请求的负载均衡。开发者只需要在应用中添加相应的依赖和配置,就可以实现请求的负载均衡,提高系统的性能和可用性。 3. 配置中心:Spring Boot Cloud通过集成配置中心组件(如Config Server、Apollo等),实现了配置的集中管理。开发者只需要在应用中添加相应的依赖和配置,就可以实现配置的动态更新和管理。 4. 断路器:Spring Boot Cloud通过集成断路器组件(如Hystrix、Resilience4j等),实现了服务的容错和熔断。开发者只需要在应用中添加相应的依赖和配置,就可以实现服务的容错和熔断,提高系统的稳定性和可靠性。 5. 分布式追踪:Spring Boot Cloud通过集成分布式追踪组件(如Zipkin、Sleuth等),实现了分布式系统的请求链路追踪。开发者只需要在应用中添加相应的依赖和配置,就可以实现请求的跟踪和监控。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值