• SpringBoot启动项目报错 Consider defining a bean of type ‘xxx‘ in your configuration


    今天遇到一个问题很奇怪,SpringBoot项目启动报错提示:

    Description:
    
    Field userDAO in com.cml.service.impl.UserServiceImpl required a bean of type 'com.cml.dao.UserDAO' that could not be found.
    
    
    Action:
    
    Consider defining a bean of type 'com.cml.dao.UserDAO' in your configuration.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    我开始以为我是接口上面没有加@Mapper注解的原因
    但是我看了一下却不是,而且idea提示我可以找到请添加图片描述
    在这里插入图片描述

    左边那个绿色小图标点击一下也能进入UserDAO

    后来我看了一下日志发现里面有一行警告被我给忽略了

    2021-12-26 19:51:52.415 WARN 15212 — [ restartedMain] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in ‘[com.cml.app]’ package. Please check your configuration.

    mybatis默认扫描的是启动类下的包,而我的启动类和DAO接口不在同一个包下
    在这里插入图片描述

    所以启动类加上@MapperScan注解改一下扫描位置就好了

    @SpringBootApplication(
            scanBasePackages = "com.cml"
    )
    @MapperScan(
            basePackages = "com.cml.dao"
    )
    public class App {
    
        public static void main(String[] args) {
            SpringApplication.run(App.class, args);
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    运行了一下果然成功了,看来以后不能忽略警告了

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    Prometheus的部署
    HTML+CSS个人电影网页设计——电影从你的全世界路过(4页)带音乐特效
    [LeetCode] 九坤-03. 数字默契考验
    笔记37:全卷积网络FCN结构详解
    Ubuntu下载离线安装包
    AD教程 (九)导线及NetLabel的添加
    SpringBoot框架:闲一品交易的新引擎
    redis-哨兵模式&集群(无中心化)
    利用apache ftpserver搭建ftp服务器
    Redis基础运维及问题排查
  • 原文地址:https://blog.csdn.net/m0_67401417/article/details/126114508