springboot项目正常启动了,用的@RestController 注解去配置的controller,然后路径也搭好了,但是浏览器一直报404。
解决方法:
方法一:springboot的启动类要放在写的所有类的最外面,否则会扫描不到controller (原因:springboot只会扫描启动类当前包和以下的包)
(亲测有效!)
看图:
- 之前的错误目录:
- 项目正确目录:
- 前端页面发送请求,后台控制器执行成功 !
- 前端页面:
当时我就是因为把启动类放在了一个和controller所在包同级的包下面,因为springboot只扫描启动类当前包和以下的包,由于启动类所在的包中只有启动类,所以springboot扫描不到controller,就处理不了前端发过来的请求。
补充知识:【@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器】
方法二:在启动类的上面添加 @ComponentScan(basePackages = {“com.demo.*”})
(这个方法没有试过)
controller补充知识:
SpringMVC Controller介绍