Spring Boot项目Bug日志——@Autowire

报错情况:

Description:

Field tbUserDao in xxxxx.service.impl.UserServiceImpl required a bean of type 'xxxxx.db.dao.TbUserDao' that could not be found.

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

Consider defining a bean of type 'xxxxx.db.dao.TbUserDao' in your configuration.

报完错后,spring boot 项目无法启动 

AI查错 

在Spring框架中,当你在配置文件中定义了一个bean的类型为'xxxxx.db.dao.TbUserDao'时,可能会出现这样的错误提示。这个错误通常是由于Spring容器无法找到或创建该类型的bean所导致的。

要解决这个问题,你可以按照以下步骤进行操作:

1. 确保你的项目中存在名为'xxxxx.db.dao.TbUserDao'的类,并且该类已经被正确地注解为一个Spring的bean。你可以使用`@Component`、`@Repository`或者其他合适的注解来标识该类为一个bean。

2. 确保你的配置文件中包含了正确的包扫描路径,以便Spring能够扫描到该类。你可以在配置文件中使用`<context:component-scan>`标签来指定需要扫描的包路径。

3. 如果你的类是通过接口实现的,那么你需要确保接口也被正确地注解为一个Spring的bean。你可以使用`@Component`、`@Repository`或者其他合适的注解来标识接口为一个bean。

4. 如果你的类是通过XML配置文件进行配置的,那么请确保你已经正确地在配置文件中定义了该bean,并且配置文件的路径是正确的。

上面的也排除过了没有作用

看了很多的文章的办法都没有用

主要解决方法就是 :

  • 检查注解是否遗漏@Component @Mapper @Service @Repository @Bean 等或者多写@Autowired 
  • 在启动类使用SpringBootApplication等等的注解里面加入scanBasePackages = "<手动导入包>"
  • 启动类SpringBootApplication的文件位置不对:需要放在最外层的包,SpringBootApplication后面的加上合适注释可以自动扫包。

像是在启动类加上注解,虽然启动了 但是swagger2 也开始报错,解决一个接着一个bug出现,然后就弃用了

29d761761641457eae1e2d6af898191a.png

最后解决办法

然后最后在某个评论下看到可能是mybatis版本的问题,于是降了一下版本,问题解决了。

f6dafab86a8b48e4bd51716764a4189d.png

  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值