技术博客
技术博客
一、技术概述
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring是一个轻量级的控制反转和面向切面的容器框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
二、基于注解的接口编写
@RequestMapping:用于将发送来的请求分配给具体的处理方法
常用参数:value:接口名
name:同value
method:接口接受的请求方法(RequestMethod:POST、GET、DELETE等)
procedure:用于请求、响应的处理,如响应体中有中文需指定为“application/json;charset = UTF-8”(使用json格式返回数据)
@RequestBody:指定对象接收请求中的data数据(区别于@RequestParameter)
@RequestParameter:用于接收请求的参数(无法接收body中的data)
常用参数:required:指定参数是否为必须
name:指定参数名
@ResponseBody:总用于方法上,表示该方法的返回结果直接写到HTTP ResponseBody中
以上为接口编写时常用到的注解及其参数,一个完整的接口如下所示
@RequestBody(value = "modifyInformation",method = RequestMethod.POST,
procedure = "application/json;charset = UTF-8")
@ResponseBody String modifyInformation(@RequestBody User user){
...
return null;
}
三、遇到的问题
在这次的作业中遇到的最多的问题就是无法接收到请求的参数。
当无法接收参数时,首先确认请求发送参数的方式。如果发送的方式为url传参应该使用的是RequestParameter注解来接收参数,如果注解没有问题,进一步确认注解中的name与传递参数的参数名是否一致;如果使用的是body传参,应该使用RequestBody接收参数,注解无误进一步确认对象中的属性名与各个参数名是否对应,如果不一致或者缺失spring无法自动将数据封装到对象中。
无法接受到请求
只需要逐级检查RequestMapping中的value或name是否对应即可
四、总结
总的来说,我对spring框架的理解还是一星半点,需要学习的还有更多,以后或许会遇到更多的问题。
五、参考文献
SpringMVC 坑路3 -> 注解1 -> RequestMapping 中 value 的用法