SSM项目 可以正常启动可是无法访问网页,打开网页后报错404
控制台输出:
2020-11-20 11:10:45.638 INFO 2780 --- [nio-8181-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-11-20 11:10:45.638 INFO 2780 --- [nio-8181-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-11-20 11:10:45.639 INFO 2780 --- [nio-8181-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
在网上看了一些文章之后,觉得应该是扫描mapper层出现了问题,我本身在主程序写了这两个注解
@MapperScan(“com...dao”)
@ComponentScan(“com...entity”)
并且在mapper文件中也写了
@Repository("***mapper")
@Mapper
我才开始学,还没有理解里面的原理,好像是扫描冲突了…什么的
解决方案
- 删掉了程序入口函数的注解,
@MapperScan("com.**.**.dao") @ComponentScan("com.**.**.entity")
,
程序入口函数处只写了@SpringBootApplication
- 也删掉mapper文件的注解
@Repository("***mapper")
只保留@Mapper
- 在application.properties文件中写入
#对应mapper的.xml的位置
mybatis.mapper-locations=classpath:com.**.**.dao/*.xml
#对应实体类的位置
mybatis.type-aliases-package=com.**.**.entity
OK啦,我的到这里解决了,希望对你有帮助。
:看上去好像很简单,我折腾了两天才解决的。
:果然还是要把原理学清楚才可以啊!