localhost:8080/hello返回Whitelabel Error Page问题处理

近日问题整理(week001)

1、启动一个简单的springboot项目,简单的http://localhost:8080/hello一直报错返回不了正确的

Hello World?

代码如下

最终发现HelloController需要和Application在同一个package下才能正常的加载进去,所以这种只有@SpringBootApplication的配置下,加载扫描的范围,只在自己的package下,所以关于应用加载的bean范围,这个需要注意

 

经过验证发现,不仅仅是放在同一个package下可以,Application放在外层,com.example,controller放在com.example.controller也是生效的,所以默认扫描的package目录就是com.example.*下的bean。

 

2、即使放在同一个package下,contoller也会报错not fund,而restController可以显示到界面上,所以二者的区别是什么?

 查看restController的注解配置,需要注意的是多了一个@ResponseBody,是一个加强版的controller。@ResponseBody 注解的作用是将Controller的方法返回的对象,通过转换器转换为指定的格式之后,写入到 Response 对象的 body 区,常用来返回 JSON 数据或 XML 数据 。在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过 Response 对象输出指定格式的数据 。所以只有使用了@ResponseBody才会直接把Hello World~直接返回到浏览器客户端。

3、测试项目启动报错 Field stuMapper in org.example.service.impl.StuServiceImpl required a bean of type 'org.example.mapper.StuMapper' that could not be found.

这个需要了解mybatis的一些基本原理,mapper的接口,通过namespace配置在xml中,通过注解@Mapper,mybaits才会去将mapper接口生成对应的代理文件,交给spring去管理,而@MapperScan配置与启动的applicaiton上,就会自动装配整个包下的接口,生成对应的代理对象

4、关于restful的含义是什么?

restful是一个api的接口规范。url上尽量不使用动词,在restful规范中,每一url代表一个资源,比如 /student  这种路径,通过不同的请求类型,对应不同的操作,url是一样的,get 代表查询,post代表新增,put代表更新,delete代表删除。。等等;当然目前的api严格规范的api定义,会增加一个接口的沟通成本,因为你无法通过字面的意思去清楚知道这个url的具体的功能,还需要知道对应的请求类型,增加了沟通成本,所以一般还是会通过url的字面意思关联功能


                
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值