您的位置:首页 > 编程语言 > Java开发

spring boot无法启动,或者正常启动之后无法访问报404的解决办法

2018-09-05 14:55 916 查看
1 如果启动失败,一直报错,是有可能 你的启动类直接放在了 src.java.main 下面 ,这是错误的,你需要将您的启动类放在 src.java.main.* 以下 例如 src.java.main.com.dai.test 下面
2 如果启动成功,但是却访问不了你自己写的controller,报404错误,那么原因就是您写的controller没有被spring 容器扫描到
 解决方案:  spring boot 默认扫描您的类是 在启动类的当前包 和 下级包 。比如: 您的启动类(TestStart.java)在 com.dai.test 下(com.dai.test.TestStart.java) 那么spring 会扫描 com.dai.test
和 com.dai.test.*  如果你的controller(TestController.java)没有放在com.dai.test或者com.dai.test.* 下的话,就不会被扫描到,就会发生404错误.
 还有一种解决方案是 ,配置spring 扫描路径
在启动类的上面添加   @ComponentScan(basePackages = {"com.dai.*"}),这配您的controller所在的包  

 ×××××再放一个了××××解决404问题,通过spring的log去看(这个方法主要检测是不是你的路径配错了,用于查看代码是否有问题)
在spring boot的启动log里面,有一个RquestMappingHandlerMapping 的log,你们具体可以看看你们写的controller有没有被mapping

s.w.s.m.m.a.RequestMappingHandlerMapping :

Mapped "{[/consumer/user/getUser],methods=[POST]}" onto public com.dai.cloud.response.UserResponse com.dai.cloud.consumer.controller.UserController.getUser(java.lang.String)

这个就是一个log的demo ,意思就是已经将

public com.dai.cloud.response.UserResponse com.dai.cloud.consumer.controller.UserController.getUser(java.lang.String)

这个方法 mapping 到了 /consumer/user/getUser这个 POST路径。 你们可以检查下看看你们有没有对应的log
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: