admin管理员组

文章数量:1530845

今天遇到一个问题很奇怪,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.

我开始以为我是接口上面没有加@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);
    }

}

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

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

本文标签: 报错项目definingSpringBootxxx