首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SpringBoot的个别Autowired对象无法注入

SpringBoot的个别Autowired对象无法注入

作者头像
用户11690639
发布2026-06-17 21:39:24
发布2026-06-17 21:39:24
650
举报

叨叨

休了个小长假,时隔小半年,今天首开张,来记第一篇,中间还信誓旦旦地要开两个主题,自我巩固和学习呢,我信了你个鬼~~~~想起上学时,怎么把一大包作业背回家,就怎么背回来一样,书包都不曾打开。嗯,起题,说正篇(休了近5个月,手有点生,思路有点慢了),今天记录个小问题,送给有需要的同学们~

问题描述

springboot项目,引MongoDatabase(mongo驱动包中的对象)和Adminclient(kafkaclient中对象)提示无法注入【Could not autowire. No beans of ‘MongoDatabase’ type found. more… (Ctrl+F1)】,如下图所示

在这里插入图片描述
在这里插入图片描述

启动后报错如下【Consider defining a bean of type ‘org.apache.kafka.clients.admin.AdminClient’ in your configuration.】:

在这里插入图片描述
在这里插入图片描述

排除检查

  • 看springboot的启动类的路径,出错的类必须在启动类同一个包下面或者在启动类包的子包中,自我检查没有问题
在这里插入图片描述
在这里插入图片描述
  • 检查pom文件中是否引入(第三方的jar包也都引入了,没有问题啊)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  • 检查注解: 注解也加入了,确定可以被扫描到
在这里插入图片描述
在这里插入图片描述

问题确认

发现MongoDatabase是一上接口

在这里插入图片描述
在这里插入图片描述

Adminclient是一个抽象类

在这里插入图片描述
在这里插入图片描述

记着之前有看源码,抽象类和接口无法直接交由beanFactory去托管,无法直接通过反射实例化对象(具体请大家自行查找再确认哈),估测应该与此问题有问。

解决方案

根据启动时的异常提示去修改下 : 【Consider defining a bean of type ‘org.apache.kafka.clients.admin.AdminClient’ in your configuration】 创建config,然后自己通过bean注解配制,交由框架加 载托 管。参考代码如下图所示:

在这里插入图片描述
在这里插入图片描述

再去检查注情况,嗯,编译就 过了~~

在这里插入图片描述
在这里插入图片描述

就这样,大致写了一下,希望可以帮到遇到相同问题的你,以上内容仅供参考,具体问题还需要具体分析。

总结一下注解无法注入问题

代码语言:javascript
复制
 - springboot的默认装配规则是通它自身的启动类的所在包位置从上到小扫述的。所以要放好启动类的位置,通过是放置在最外层。比如说把启动类放在了com.zl.test,那么在这个路径下的所有类或子包都可以被加载到,但要是com.zl.common下就无法被扫描到了。如果有特别原在,不能放置在一起,需要手动在启动类中加扫描注解。
 - 要知道只有加了注解的类才会被spring加载,交由beanFactory管理,所以在使用注解的类和需要被注入的类 加入注解,eg :service上加了@Service的注解,想在control中注放service,那么需要在controller中也加上注解@Controller才可以
 - 还有一种情况要注意,就是new出来的类无法注入,这个点也是比较容易踩坑的
 - 然后就是我上面遇到的问题,需要自己手动@Bean了
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 叨叨
  • 问题描述
  • 排除检查
  • 问题确认
  • 解决方案
  • 总结一下注解无法注入问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档