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修改了约定)。所以就会导致项目启动报错。

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值