今天遇到一个问题很奇怪,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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
更多推荐
SpringBoot启动项目报错 Consider defining a bean of type ‘xxx‘ in your configuration
发布评论