spring boot@Autowired注入失败和自定义controller扫描失败的解决方法

刚接触spring boot,从网上找了一篇教程,试着做一个spring boot+mybatis的小demo,使用STS构建的,IDE用的是eclipse

参考了这篇教程https://segmentfault.com/a/1190000017211657

 基本是参照教程写的,那篇教程写得不错,讲解得比较详细,但是我在运行的时候出现了两个问题

一、controller包下面的userController扫描不到,所以里面的 @RequestMapping不起作用

 解决方法:

在网上找到了解决方法,就是在启动类加上注解@ComponentScan,@ComponentScan是spring boot专门用来扫@Component,@Service, @Repository, @Controller等注解的注解。但是到了我的demo里面还是不起作用,然后又去看了一下注解@ComponentScan的文档,有这么一段话

大概的意思就是要给 basePackageClasses or basePackages 指定一个包的话,就会从这个包开始扫描,如果不指定的话,就会从加了这个注解的类所在的包开始扫描。所以官方推荐是把启动类放在bean,controller,service,dao等需要扫描的包的上一级,但是我这样试过之后,在我的环境之下不起作用,搞不懂是为什么,所以后来我就把启动类放到了controller包中(即使这样做可能不太规范)

因此我做了以下的修改

从example包开始扫描,这样的话example下面的bean,controller,service,dao包里面的注解就都能扫描到了。

二、@ Autowired注入失败

 解决方法:

在网上找到的解决方法是添加注解@MapperScan

当使用Java进行配置时,可以用@MapperScan注解用来注册Mabatis映射接口

于是我做了以下的修改

 两个地方修改之后,就完全运行起来了

 问题解决,赶紧写了这篇博客,希望能够帮到遇到相同问题的人

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值