问题描述
- 项目可以运行成功,但是当使用postman发送请求时,出现如下情况
- 当在页面中输入http://localhost:8080/时出现
- 经过无数次的检查url,发现始终是没错的,而且我所有的bean所在的文件夹都在启动类所在的路径下,这与网上许多解决方案不符合,由于自己的菜就折腾了很久,最后终于解决,是代码内部的问题
springboot的目录结构
配置文件
一开始是配置文件没有缩进,导致数据源信息读取错误,首先检查了配置文件,并进行改正,应该是上图所示格式
启动文件
@ComponentScan注解:
- 作用:扫描该启动类下所有的bean,但是不会扫描xml与接口文件,因为这两类并不能算上是一个bean文件,所以会忽略扫描。
@MapperScan注解:
- 作用:将mapper接口或者其他文件自动转化为一个bean来,使其可以注入进spring容器中,类似于在持久层的文件上加一个@Mapper注解
问题解决
- 我的问题是出现在最开始只加了@ComponentScan注解
- 而观察我的项目结构,我的持久层用了mapper接口与mapper.xml文件来实现,根据上面所述的@ComponentScan注解的作用,致使我无法将我的mapper注入到spring容器中,也就无法将我的bean注入到spring容器中,也就出现了404错误
总结
一个问题的出现可能有许多不同的情况,碰到问题还是需要一个一个排查下来,肯定是什么细节上的出了一些差错